Первые CMS появились в начале 2000 года, но в то время они были очень узконаправленными решениями и в основном решали задачу управления одним сайтом, немного позднее CMS стали выполняться в более универсальном виде, то есть с возможностью подстройки под конкретный проект. Эволюция CMS происходит достаточно быстро, и это в первую очередь связано с появлением новых течений и стандартов.
Используемые в CMS-движке принципы, можно представить в виде качественного скачка развития принципов построения сайтов в своеобразном спиральном технологическом развитии.
- До появление CMS
На первом этапе появления Интернет сайтов CMS-движков как таковых ещё не было и поэтому большинство страниц были статичными.Шаблоны использовались только в тяжёлых настольных WYSIWYG-программах редактирования HTML текста, либо добавлялись вручную в текстовом редакторе.Навигация строилась вручную, в лучшем случае с использованием включений (SSI — include инструкций в .shtml), либо фреймов, либо на основе клиентского javascript программирования.
Такие сайты тяжело управлялись и как правило, вручную через ftp протоколы.
- Появление активного серверного скриптингаАктивный серверный скриптинг на сайте: cgi/pl/epl, php/phtml, asp/aspx/mspx/wbp, jsp/jhtml, cfm и т.д., без управления содержимым (без CMS-движка).
С появлением активного серверного скриптинга появилась возможность программировать прямо в момент запроса страницы пользователем. Это привело к почти тотальному и в большинстве случаев бездумному использованию серверного скриптинга даже для вывода статичных страниц.
Вопрос управления содержимым и навигации в большинстве своём строился также в ручную с использованием включений (SSI include-инструкций в shtml), фреймов, а также при помощи программирования и активного скриптинга.
- Появление первых CMS-движковУправление содержимым через шаблонный CMS-движок, содержимое хранится в SQL таблицах или сохраняющий содержимое в файловой системе, с последующим выводом их через активный серверный скриптинг и другие вариации.Появление активного серверного скриптинга почти сразу породило идею создания Системы управления сайтом.
- Началась эра CMS-движков.Родилась идея управления: скрещивания шаблонов с содержимым и с автоматическим построением навигации на сайте.Самый простой способ построения CMS-движка, заключается в загрузке содержимого в поля SQL-таблицы в момент редактирования в CMS-движке и выводить их на сайте при помощи активного скриптинга, то есть в момент обращения пользователя к странице сайта.
Так и сейчас работает большенство бесплатных CMS.
Один сайт построенный на этих CMS способен «положить» сервер при достаточно умеренных нагрузках. - Появления технологий AJAX и JSON.
Появление этих технологий дало возможность представить интерфейс CMS практически неотличимым по интерактивности от обычных desktop-приложений. - Появление XML/XSL(T) технологии
Появление XML/XSL технологии облегчило построение навигации древовидных структурированных разделов на сайте.В большинстве CMS-движков стали активно использовать XML/XSL технологии.
- Развитие технологий Flash и Silverlight.
Активное развитие и применение этих технологий добавило интерактивности в современные CMS, появилась возможно создавать очень удобные UI для работы с системой. - Активное применение концепции MVC (паттерна проектирования).
Скриптинг CMS-движка, генерирующий по шаблонам статичные страницы, с автоматической навигацией, без использования SQL-таблиц для хранения содержимого.
Следующий шаг в развитии CMS-движков, привёл опять же к статическим страницам, но уже на качественно новом уровне.
Как это ни странно, пришлось вернуться обратно к статическим страницам, но уже перегенерированными в момент сохранения страницы.
Идея управления сайтом: скрещивания шаблонов с содержимым и с автоматическим построением навигации на сайте, дополнилась перегенерацией.
Этот путь для реализации в CMS один из самых сложных и тем не менее самый правильный.
Использовались материалы Айдара Майлебаева.
Я бы о сильверлайте вообще не упоминал, а флешу больше место где-то перед аяксом +стоило упомянуть тупиковость этой ветви эволюции 🙂
Еще было бы неплохо хорнологию добавить.
А вместо «Активное применение концепции MVC» я бы написал *Сумасшедшее размножение MVC фреймворков почкованием* +стоит сказать о взаимствовании многих идей с джанги и ROR, которые послужили значительным толчком в развитии.