Що таке движок сайту
Якщо Вам сподобався цей матеріал, поділіться ним з вашими друзями в соц мережах
Движок сайту (жаргонізм від англ. Engine - мотор, двигун) - виділена частина програмного коду для реалізації конкретного прикладного завдання - програма, частина програми, комплекс програм або бібліотека, в залежності від завдання і реалізації. Як правило, прикладна частина виділяється з програми для використання в декількох проектах і / або роздільної розробки / тестування.
Використання готового движка при розробці програми, сайту або іншого продукту скорочує час розробки, дозволяє приділити більше часу розробці інших підсистем, наприклад, призначеному для користувача інтерфейсу (або інформаційної наповненості сайту).

Для того, щоб змінити щось на сайті доводилося відкривати код сторінки і міняти його. Якщо потрібно було змінити елемент дизайну або шаблон кожної сторінки, то такі операції потрібно було виконати з кожною сторінкою. Підтримка таких сайтів вимагала від їх власників певних знань, та й сам процес зміни інформації займав занадто багато часу.
Стало очевидно, що без інструменту, який спрощував би роботу з сайтом, не обійтися. Таким інструментів стали системи управління вмістом сайту (CMS).
Що таке CMS? (Content Management System)
CMS (є абревіатурою від англ. Content Management System - Система Управління Вмістом "контентом") - інформаційна система або комп'ютерна програма, яка використовується для забезпечення і організації спільного процесу створення, редагування і управління контентом.
Так як структура і дизайн сайту змінюється рідко, а ось контент може змінюватися досить часто, кожен день або навіть кожну годину, основний принцип роботи більшості CMS заснований на наступних елементах:
Сторінки сайтів, створених на CMS за своєю суттю не є окремими сторінками і за своєю природою не існують. CMS створює сторінку для користувачеві формуючи їх вміст "на льоту" в момент її запиту. Сторінка як би збирається воєдино з різних частин, будь то: шапка, підвал, меню, центральна частина, права і ліва колонки (якщо такі присутні), та інші структурні частини сторінки. При цьому, в залежності від ситуації, користувачеві може бути показана якась унікальна інформація. Яскравий приклад цьому - корзина в інтернет магазині.
- Швидкість розробки - простий сайт з стандартним функціоналом можна створити за дуже стислі терміни (від 5 хвилин)
- Простота використання - так як для управління сайтом більшою мірою використовується інтуїтивно-зрозумілий інтерфейс, працювати з CMS можна «методом тику»
- Поділ повноважень - так як дизайн, функціонал і контент сайту розділені, а 99% CMS мають функціонал розмежування прав доступу, в CMS існує адміністратор системи, який може дати іншому користувачеві певні права на управління системою. Таким чином, наповненням контенту і розробкою сайту може займатися група осіб, кожен з них виконує свої завдання.
- Схожість - практично всі CMS мають однакові принципи роботи, отже, розібравшись в одній CMS, Вам буде легше використовувати іншу
- Можливість розширення функціоналу - якщо система популярна, то як правило для неї написано безліч розширень (доповнень, модулів, плагінів, компонентів, шаблонів, віджетів), використовуючи які Ви можете розширити функціонал після базової установки CMS
- Обмеженість - як правило, CMS вирішує лише частину завдань і при подальшої розробки функціоналу сайту, існуючих розширень може бути не достатньо для реалізації задуманого.
- Генерування коду - система може генерувати код, який буде навантажувати сервер, або буває досить складно зробити так, щоб CMS отримувала якісь ні будь необхідні Вам дані.
- Система шаблонітізаціі - для того, що б реалізувати задумку дизайнер, все одно доведеться вдатися до допомоги фахівця
Що таке CMF? (Content Management Framework)
На поточний момент немає чіткої межі між CMS і CMF.
Ряд CMS. надають API для розширення своєї функціональності, претендують на звання CMF. до таких систем можна віднести: Drupal, MODX Revolution.
- CMF об'єднує з себе всі плюси CMS
- для того, що б створити більш складні сайти або веб-додатки програмісту необхідно вивчити API, яке надається обраної CMF
Що таке PHP фреймворк? (PHP Framework)
Фреймворки (англ. Framework - каркас, структура) - програмні продукти, що спрощують створення і підтримку технічно складних або навантажених проектів. Як правило, містять тільки базові програмні модулі, а все специфічні для проекту компоненти реалізуються розробником на їх основі.
Фреймворк визначається як безліч конкретних і абстрактних класів, а також визначень способів їх взаємини. Конкретні класи зазвичай реалізують взаємні відносини між класами. Абстрактні класи являють собою точки розширення, які можуть бути використані для розширення.
Велика частина фреймворків реалізують шаблон проектування Model-View-Controller (MVC).
Яскравими представниками є такі фреймворки: Zend Framework, Symfony, Laravel, Yii, Kohana, CodeIgniter, CakePHP.