Что такое движок

Автор статьи: Влад Мержевич ©
Сайт Автора: htmlbook.ru
E-mail Автора: Нет
Дата публикации: 13.07.2005

Представьте, что вам требуется создать сайт с разделами, подразделами и десятком статей. Самый простой путь — взять программу для редактирования веб-страниц, построить в ней отдельные документы и связать их между собой. Многие веб-мастера начинают именно так. Ведь современные редакторы обладают развитыми средствами верстки, работы с шаблонами, отслеживания ошибок и многое другое. Однако наступает период, когда возможностей обычного html становится недостаточно. Хочется добавить на сайт голосование, гостевую книгу, способ писать комментарии к статьям, в общем, то, что можно встретить на множестве других сайтах. При увеличении количества документов увеличивается также и вероятность возрастания различных ошибок. Все это приводит к тому, что требуется система, которая бы расширяла возможности сайта, упрощала наполнение контента и автоматизировала процесс построения навигации. Так мы приходим ко второму способу построения сайта — через динамическое управление содержанием. Основой для этого и выступает движок сайта.

Что же такое движок? Движком будем называть набор серверных программ, который извлекает данные из базы данных и управляет ими, позволяя добавлять, редактировать и удалять информацию на сайте. Этим не ограничивается область применения движка, в его задачу входит также управление интерактивными модулями — новости, гостевая книга, форум, голосование и т.д. Более распространенный термин — «Система управления контентом» (СУК или по-английски Content Management System, CMS). Но мы будем использовать именно «движок», потому что это менее официально, да и признаться, просто мне нравится.

Понятно, что движок для новостного сайта будет отличаться от движка развлекательного ресурса. У них разное направление и задачи. Тем не менее, не вдаваясь в подробности предназначения сайта, опишем область использования движков.

Смена дизайна и его подстройка под существующие нужды
Как правило, дизайн веб-страниц имеет характерные области, которые остаются неизменными на всех документах. Сюда можно отнести заголовок сайта и так называемый «подвал» — нижняя часть страницы. Учитывая эти особенности, шаблон дизайна размещается в отдельном файле, что позволяет легко его редактировать и менять. Данный подход ускоряет работу над сайтом, ведь теперь дизайнер и программист могут работать независимо друг от друга, не ожидая результатов труда партнера.

Добавление материалов на сайт
Достаточно через специальную форму добавить текст статьи, как она автоматически появляется на сайте. Во всех сопутствующих меню после добавления статьи также показывается ссылка на нее.

Интерактивные возможности
Любой развитый движок работает как инструмент обратной связи с пользователями. Сюда относят такие традиционные модули как: голосование, гостевая книга, форум, добавление комментариев, оценка статей.

Сбор статистики
Можно сохранять статистику по количеству прочтений статей и затем использовать ее для генерации списка популярных материалов. Еще один способ формирования подобного списка — воспользоваться итогами оценки статей пользователями.

Иерархическая структура
Поскольку информация сохраняется в виде структуры данных, допустимо использовать произвольное количество разделов и подразделов с любым уровнем вложений. Разделы, разумеется, можно переименовывать, переносить в другое место и удалять.


Разумеется, существуют множество готовых CMS с большим потенциалом, в которых все упомянутые достоинства уже реализованы. Зачем тогда писать что-то свое? Здесь есть несколько доводов.

* Большие многогранные системы недостаточно хороши именно в силу своей универсальности. В попытке охватить все и вся, они становятся слишком громоздкими, занимают лишнее места и имеют массу избыточных функций.
* Никакая система не предусмотрит всех пожеланий разработчика сайта. Создавая движок самостоятельно можно реализовать самые смелые творческие фантазии.
* Проще написать программу самому, чем разбираться в чужом коде. Эта прописная истина известна многим программистам. Построение собственного движка помогает лучше изучить используемые технологии и быстрее вносить желаемые изменения.

В конечном итоге, умея создавать свой движок, мы начинаем лучше разбираться в системах управления контентом и у нас появляется альтернатива — воспользоваться уже готовыми системами, бесплатными и не очень, или написать свой код, который будет делать именно то, что вы и проектировали.