В чём технологическая суть "движка" сайта? Что такое движок вообще?

Aug 18, 2011 09:07


Адресовано, прежде всего, "непосвящённым". А также тем, кто по роду занятий, по обязанностям или просто по необходимости собирается заказывать разработку веб-ресурса. Одна из первых фраз, которую можно услышать от веб-разработчика: "Надо подумать какой движок использовать". Чтобы этот тезис не поставил вас как заказчика в тупик, попробуем разобраться.


Это понятие можно трактовать двояко: в широком и узком смысле. Давайте представим себе самый простой сайт одной небольшой компании. Такие веб-ресурсы называются, как правило, "сайт-визитка". Что это? Это, прежде всего, главная страница, где выложены какие-то основные, краткие, но разнообразные сведения о компании. Далее - это страница "Контакты" с адресом, реквизитами компании. Ещё могут быть страницы "Цены", "Лицензии", "Обратная связь". Допустим, всего пять страниц.


Что в таком случае будет называться "движком"? Разочарую: при том расхожем понятии "движок", которое бытует в абсолютном большинстве случаев, здесь движка нет вообще. Такой сайт может быть "самописным", - ручной разработки. Просто свёрстано пять страниц. Но слово "движок" созвучно слову "двигаться", не правда ли? Эти страницы нужно в браузере менять, "перелистывать" - двигать. Это достигается размещением на каждой странице ссылок на четыре других страницы: с 1-ой - на 2-ю, 3-ю, 4-ю и 5-ю; со 2-ой - на 1-ю, 3-ю, 4-ю, 5-ю и так далее. Вот в таком узком смысле - да, это можно признать "движком", в его самом простом представлении. Это - простейший внутренне-ссылочный механизм смены страниц в браузере.

Теперь давайте представим, что нам вздумалось добавить шестую страницу - "Коллектив". Это будут, скажем, имена и фотографии руководителей и главных менеджеров. Как мы поступим? Очевидно, структура этой новой страницы будет похожа на любую из пяти уже существующих: какая-то "шапка" сайта, затем левая колонка с навигационным меню, с блоком "Поиск". Далее - среднее поле с конкретной информацией, и затем - правое поле с блоками, например, "Наши телефоны", "Нужные ссылки" и т.д. и т.п. Можно сказать, что это классическая структура веб-сайта.

Первое что приходит в голову: а почему бы просто не скопировать любую из этих пяти существующих страниц и "сделать" из неё шестую? Правильно, почти всегда так и делается при ручной разработке. Но нам необходимо будет при этом заменить во внутреннем поле текст - для этой шестой страницы и, кроме того, модифицировать навигационное меню на каждой странице. В нём предстоит добавить везде шестую строчку: на существующих пяти - по ссылке на шестую, а в меню на шестой сделать ссылки на пять существующих, плюс "слепая" ссылка на саму себя. Не так уж и просто, правда?

А если сайт у нас достаточно сложный, с многоуровневым меню навигации, с авторизацией, с различными интерактивными функционалами? Как тогда - ведь, например, при "входе" в эккаунт уже не нужно показывать блок "Авторизация"? И, вероятно, структура левой и правой колонок будет ощутимо меняться в зависимости от раздела, страницы? Да, простым копированием страниц тут уже не обойтись.

В этом случае и появляется понятие "движок" в широком смысле - именно то, которое и бытует сегодня в ИТ-отрасли. Когда-то в помощь веб-разработчикам и контент-менеджерам и были созданы системы управления сайтом (контентом) - CMS. Ключевой элемент в работе CMS - так называемый шаблон. Это как бы "схема", логика, алгоритм сайта, - его отдельных страниц, который определяет, какие элементы левого, среднего и правого поля выводить на экран в зависимости от страницы, раздела, функционала. Присвоим "шапке" сайта символ A, левой колонке - B, среднему полю - C, правой колонке - D, "футеру" сайта - E. CMS "знает", что "генерить" конкретную страницу нужно именно в таком порядке: ABCDE. Именно таким образом браузер и "строит" страницу - сверху вниз и слева направо. Это - одна сторона понятия "движок" в широком смысле. То есть, генерация, построение каждой появляющейся в браузере страницы.

Подумаем: а каковы функции контент-менеджера сайта? Ему ведь не нужно что-то серьёзно перенастраивать, добавлять, модифицировать на страницах. Его обязанность - вести контент. Контентом в большинстве случаев как раз и является содержание среднего поля сайта. Его редактирование и предлагает CMS, - не обращая внимание контент-менеджера на любые другие элементы сайта. Это - вторая сторона понятия "движок" в широком смысле: возможность удобного интерфейсного создания и редактирования регулярного контента сайта. Например, простых новостей: они будут представляться, скажем, лентой в среднем поле.

Теперь опять представим: необходимо добавить новый блок, скажем, в левое поле. Обозначим его B1. Тогда порядок генерации будет следующим: ABB1CDE. Разработчик или контент-менеджер в несложном и понятном "конструкторе" просто вносит изменения (что-то добавляет) в алгоритм-шаблон и в нужном месте на каждой нужной странице появляется новый созданный элемент. Здорово, не правда ли? Сколько бы пришлось копировать страниц, адаптировать меню на них... Это - третья сторона понятия "движок" в широком смысле: генерация новых элементов и автоматическое их включение в алгоритм показа страниц сайта. То же самое происходит в этом смысле при добавлении новых страниц и разделов: автоматически адаптируется шаблон, меню навигации и расположение блоков и модулей. Вручную это было делать уже весьма затруднительно.

Чтобы было понятно окончательно, простая аналогия из повседневной жизни любого специалиста: папка-скоросшиватель с разделами, пластиковыми файлами, надписями... И вот нам нужно поместить в определённое место новый документ. Или изменить его. Раздел существующий или новый, цвет файла, достаём, защёлкиваем, надпись... Система управления контентом (CMS, движок) на сайте всё это сделает автоматически.

движок сайта, cms, интернет, что такое движок, интернет-проекты

Previous post Next post
Up