II. Программная Среда для разработки веб приложений
Сравнительный анализ систем управления контентом
ВВЕДЕНИЕ
С появлением новых информационных технологий наблюдается постоянный рост требований к интерактивности и удобствам пользования веб-сайтов (юзабилити). На смену сайтам-страничкам и сайтам-визиткам приходят так называемые «управляемые» сайты, когда пользователю предоставляют возможность редактировать структуру сайта независимо от его наполнения, размещать новый контент (информацию), не прибегая к помощи разработчика, управлять содержимым — любым информационно значимым наполнением информационного ресурса (например, веб-сайта) — текстовые описания, графика, мультимедиа, новости компании, специальные предложения или акции, каталог продукции или услуг компании и прочее. Претерпевает большие изменения и интернет-торговля. Сайты-каталоги (веб-витрины), интернет-магазины с традиционными корзиной покупок и формой оформления заказа on-line вытесняют полноценные CRM системы (Customer Relationship Management - управление взаимоотношениями с клиентами) на современных Интернет ресурсах. Для таких систем характерна работа каждым клиентом индивидуально. Это и «Личные корзины», позволяющие набирать товары, которые вы покупали ранее, «История покупок», ведущаяся с начала вашей регистрации в Интернет-магазине, «Система накопительных скидок», «Система поддержки нескольких адресов доставки» и т.д.
В настоящее время в сети появляется все больше всевозможных «on-line» сервисов таких как произвести оплату кредитной картой on-line, оплатить услуги доступа Интернет, пополнить счет на мобильном телефоне, сделать электронную фотографию, смонтировать видео-ролик и т.д. Все перечисленное приводит к тому что современные веб-разработки это полноценные программные продукты (дистанционные информационные системы), требующие для своего создания полноценной программной среды или программного фреймворка.
II. Программная Среда для разработки веб приложений
Программный фреймворк (англ. software framework) — программная среда, позволяющая строить сложные программные приложения используя представленный единый программный интерфейс или API (application programm interface), облегчающая разработку и объединение разных компонентов большого программного проекта, включающая вспомогательные программы, библиотеки кода, язык сценариев и другое программное обеспечение. Отличие программного фреймворка от библиотеки:
в программном фреймворке выполняется код написанный для него, а не исполняется один из скриптов подключенной библиотеки. Также, в отличие от библиотеки, которая объединяет в себе набор близкой функциональности, фреймворк содержит в себе большое число разных по тематике библиотек. При этом использование единого API позволяет безболезненно развивать фреймворк и использовать собственные расширения в будущих проектах.
Для создания крупных проектов используют один или несколько software framework's исходя из нужд проекта
В сегодняшние дни скорость при создании программного продукта важна не меньше качества работы. Оперативность появления на рынке и реакция на изменения имеют высокую стоимость в данной сфере. Соответственно разработчики в целях оптимизации своей работы предпочитают использовать готовые наработки прошлых проектов, чем писать каждый раз один и тот же код для множества проектов. Поэтому разработки отдельных ведущих специалистов объединяются что дает так называемый Content Management Framework (CMF) — каркасная система для управления содержимым. CMF — это инструментарий для создания CMS — систем управления содержимым, а также веб приложений вообще. Ряд CMS, предоставляющих API для расширения своей функциональности, претендуют на звание CMF. К примерам CMF, также являющимися готовыми CMS, можно отнести такие системы, как Plone, MODx, Drupal, TYPO3, Typolight, UMI.CMS, OPENKit.
По языкам программирования CMS присутствуют практически во всех, поддерживаемых ООП и не только: Java, PHP, Python, Ruby, Perl, JavaScript и другие. Как правило, на основе CMF создаются CMS — готовые системы управления содержимым, а те, в свою очередь, служат основой для создания полноценных сайтов.
Среди бесплатных software framework's существует множество систем, имеющих характерные особенности CMF, вот наиболее популярные из них: Zend Framework, CakePHP, Symphony, CodeIgniter, YII
Данные системы ориентированы на профессиональных разработчиков. Как правило, такие системы предоставляют практически неограниченный набор возможностей для программиста, облегчая процесс разработки сайта и расширения его функционала в будущем, за что, впрочем, приходится платить необходимостью более глубокого ознакомления с системой. Некоторые из приведенных выше CMF одновременно обладают свойствами CMS. Постараемся выделить бесплатные системы, совмещающие в себе свойства CMS и CMF. Данные системы могут быть отнесены как к классу систем управления содержимым, так и каркасных систем. Другими словами, данные системы являются в достаточной степени расширяемыми и настраиваемыми, чтобы на их основе можно было создать программный продукт с произвольным набором возможностей, но с другой стороны, данные системы могут быть рассмотрены и как дистрибутивы, для установки и использования которых не требуются глубокие познания в программировании. Среди наиболее популярных можно выделить следующие: TYPO3, MODx, Drupal. C помощью этих систем чаще всего создаются дистанционные программные продукты. Грамотно созданные классы и функции можно использовать во всех проектах, и расширять имеющийся API бесконечно. Собственно и сами системы управления содержимым, создающиеся на основе СMF претерпели колоссальные изменения. Сегодня система управления содержимым (англ. Content management system, CMS) — компьютерная программа или система, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовых и мультимедиа документов (содержимое или контента). Обычно это содержимое рассматривается как неструктурированные данные предметной задачи в противоположность структурированным данным, обычно находящимися под управлением СУБД. Такая система не нуждается в профессиональном разработчике для поддержки и расширения функциональности. Появилась новая задача — оперативное добавление и управление информацией. Появилась новый вид деятельности контент-менеджер - обозначает род профессиональной деятельности — редактор сайта. Эта работа требует минимальных знаний языков разработки и разметки страниц. Большая часть современных систем управления содержимым реализуется с помощью визуального (WYSIWYG) редактора — программы, которая создаёт HTML-код из специальной упрощённой разметки, позволяющей пользователю проще форматировать текст. Сегодняшний принцип работы CMS: генерация страниц по запросу. Системы такого типа работают на основе связки «Модуль редактирования → База данных → Модуль представления». Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что в свою очередь создаёт дополнительную нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах. Ранее используемый способ - генерация страниц при редактировании. Системы этого типа суть программы для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статических страниц. При таком способе в жертву приносится интерактивность между посетителем и содержимым сайта. Современный способ, сочитает в себе преимущества первых двух. Он может быть реализован путём кэширования — модуль представления генерирует страницу один раз, в дальнейшем она в несколько раз быстрее подгружается из кэша. Кэш может обновляться как автоматически, по истечении некоторого срока времени или при внесении изменений в определённые разделы сайта, так и вручную по команде администратора. Другой подход — сохранение определённых информационных блоков на этапе редактирования сайта и сборка страницы из этих блоков при запросе соответствующей страницы пользователем. Сейчас существует множество готовых систем управления содержимым сайта, в том числе и бесплатных. Тем не менее наличие проприетарных CMS все еще актуально.
Воспользуйтесь поиском по сайту: