Адресовано, прежде всего, "непосвящённым". А также тем, кто по роду занятий, по обязанностям или просто по необходимости собирается заказывать разработку веб-ресурса. Одна из первых фраз, которую можно услышать от веб-разработчика: "Надо подумать какой движок использовать". Чтобы этот тезис не поставил вас как заказчика в тупик, попробуем разобраться.
Это понятие можно трактовать двояко: в широком и узком смысле. Давайте представим себе самый простой сайт одной небольшой компании. Такие веб-ресурсы называются, как правило, "сайт-визитка". Что это? Это, прежде всего, главная страница, где выложены какие-то основные, краткие, но разнообразные сведения о компании. Далее - это страница "Контакты" с адресом, реквизитами компании. Ещё могут быть страницы "Цены", "Лицензии", "Обратная связь". Допустим, всего пять страниц.
Что в таком случае будет называться "движком"? Разочарую: при том расхожем понятии "движок", которое бытует в абсолютном большинстве случаев, здесь движка нет вообще. Такой сайт может быть "самописным", - ручной разработки. Просто свёрстано пять страниц. Но слово "движок" созвучно слову "двигаться", не правда ли? Эти страницы нужно в браузере менять, "перелистывать" - двигать. Это достигается размещением на каждой странице ссылок на четыре других страницы: с 1-ой - на 2-ю, 3-ю, 4-ю и 5-ю; со 2-ой - на 1-ю, 3-ю, 4-ю, 5-ю и так далее. Вот в таком узком смысле - да, это можно признать "движком", в его самом простом представлении. Это - простейший внутренне-ссылочный механизм смены страниц в браузере.
Теперь давайте представим, что нам вздумалось добавить шестую страницу - "Коллектив". Это будут, скажем, имена и фотографии руководителей и главных менеджеров. Как мы поступим? Очевидно, структура этой новой страницы будет похожа на любую из пяти уже существующих: какая-то "шапка" сайта, затем левая колонка с навигационным меню, с блоком "Поиск". Далее - среднее поле с конкретной информацией, и затем - правое поле с блоками, например, "Наши телефоны", "Нужные ссылки" и т.д. и т.п. Можно сказать, что это классическая структура веб-сайта.
Первое что приходит в голову: а почему бы просто не скопировать любую из этих пяти существующих страниц и "сделать" из неё шестую? Правильно, почти всегда так и делается при ручной разработке. Но нам необходимо будет при этом заменить во внутреннем поле текст - для этой шестой страницы и, кроме того, модифицировать навигационное меню на каждой странице. В нём предстоит добавить везде шестую строчку: на существующих пяти - по ссылке на шестую, а в меню на шестой сделать ссылки на пять существующих, плюс "слепая" ссылка на саму себя. Не так уж и просто, правда?
А если сайт у нас достаточно сложный, с многоуровневым меню навигации, с авторизацией, с различными интерактивными функционалами? Как тогда - ведь, например, при "входе" в эккаунт уже не нужно показывать блок "Авторизация"? И, вероятно, структура левой и правой колонок будет ощутимо меняться в зависимости от раздела, страницы? Да, простым копированием страниц тут уже не обойтись.
В этом случае и появляется понятие "движок" в широком смысле - именно то, которое и бытует сегодня в ИТ-отрасли. Когда-то в помощь веб-разработчикам и контент-менеджерам и были созданы системы управления сайтом (контентом) - CMS. Ключевой элемент в работе CMS - так называемый шаблон. Это как бы "схема", логика, алгоритм сайта, - его отдельных страниц, который определяет, какие элементы левого, среднего и правого поля выводить на экран в зависимости от страницы, раздела, функционала. Присвоим "шапке" сайта символ A, левой колонке - B, среднему полю - C, правой колонке - D, "футеру" сайта - E. CMS "знает", что "генерить" конкретную страницу нужно именно в таком порядке: ABCDE. Именно таким образом браузер и "строит" страницу - сверху вниз и слева направо. Это - одна сторона понятия "движок" в широком смысле. То есть, генерация, построение каждой появляющейся в браузере страницы.
Подумаем: а каковы функции контент-менеджера сайта? Ему ведь не нужно что-то серьёзно перенастраивать, добавлять, модифицировать на страницах. Его обязанность - вести контент. Контентом в большинстве случаев как раз и является содержание среднего поля сайта. Его редактирование и предлагает CMS, - не обращая внимание контент-менеджера на любые другие элементы сайта. Это - вторая сторона понятия "движок" в широком смысле: возможность удобного интерфейсного создания и редактирования регулярного контента сайта. Например, простых новостей: они будут представляться, скажем, лентой в среднем поле.
Теперь опять представим: необходимо добавить новый блок, скажем, в левое поле. Обозначим его B1. Тогда порядок генерации будет следующим: ABB1CDE. Разработчик или контент-менеджер в несложном и понятном "конструкторе" просто вносит изменения (что-то добавляет) в алгоритм-шаблон и в нужном месте на каждой нужной странице появляется новый созданный элемент. Здорово, не правда ли? Сколько бы пришлось копировать страниц, адаптировать меню на них... Это - третья сторона понятия "движок" в широком смысле: генерация новых элементов и автоматическое их включение в алгоритм показа страниц сайта. То же самое происходит в этом смысле при добавлении новых страниц и разделов: автоматически адаптируется шаблон, меню навигации и расположение блоков и модулей. Вручную это было делать уже весьма затруднительно.
Чтобы было понятно окончательно, простая аналогия из повседневной жизни любого специалиста: папка-скоросшиватель с разделами, пластиковыми файлами, надписями... И вот нам нужно поместить в определённое место новый документ. Или изменить его. Раздел существующий или новый, цвет файла, достаём, защёлкиваем, надпись... Система управления контентом (CMS, движок) на сайте всё это сделает автоматически.