Наш блог

Фреймворк або CMS. Частина 1

Маючи ідею створення сайту чи веб-додатка у клієнтів виникає цілком логічне питання : “Що ж взяти основою реалізації – фреймворк чи CMS ”.

Ну що ж, давайте розбиратися, що варто брати за основу при створенні сайтів різного типу – фреймворк або CMS, яка між ними різниця, а також плюси і мінуси підходів.

Тож почнемо з Content Mangement System. Назва говорить сама за себе CMS – це система управління контентом, вмістом сайту. CMS існує досить велика кількість:

  • WordPress;
  • Magento;
  • Joomla;
  • Drupal;
  • OpenCart;
  • Shopify і т.д

Зазвичай, системи управління контентом (CMS) використовуються при створенні веб-сайтів певного типу. Наприклад, WordPress це система, яка спочатку була розроблена для створення блогів та сайтів-візиток. З поширенням електронної комерції, WordPress отримав спеціалізований модуль - WooCommerce, за допомогою якого можна створювати повноцінні інтернет-магазини. Magento, OpenCart і Shopify, у свою чергу, були спочатку створені для створення інтернет-магазинів. Системи управління контентом мають графічний інтерфейс, що дозволяє створювати веб-сайти без програмування. Отже, встановивши CMS, ви одразу отримуєте готовий веб-сайт із всією необхідною структурою, візуальною частиною та панеллю управління. Якщо потрібно змінити зовнішній вигляд, завжди можна обрати готові шаблони.

Якщо власнику веб-сайту, побудованому на CMS, не вистачає базового функціоналу, він може розширити його шляхом встановлення необхідних модулів - плагінів. Плагіни дозволяють організовувати пошук на вашому сайті, налаштовувати SEO оптимізацію, здійснювати імпорт/експорт товарних позицій, а також багато інших опцій. Наявність панелі адміністрування дозволяє керувати готовим ресурсом.

Переваги використання cms:

  1. Швидкість встановлення проекту.
  2. Проста настройка, не вимагає знань програмування.
  3. Можливість розширення функціоналу - встановлення плагінів.

Мінуси CMS:

По-перше, варто відзначити, що CMS - універсальні рішення, що призводить до перевищення зайвого функціоналу, а отже, великого обсягу системи. Разом із CMS ви отримуєте багато непотрібних вам функцій, що в подальшому впливає на швидкість роботи системи. І подальше встановлення модулів лише погіршує ситуацію. При великих обсягах даних, завантажених в CMS, її швидкість роботи помітно погіршується.

Також більшість CMS налаштовані під конкретні завдання, і якщо таких завдань недостатньо, необхідно встановлювати додаткові модулі. Варто відзначити, що модулі діляться на три типи:

  1. Безкоштовні;
  2. Умовно безкоштовні;
  3. Платні.

Більшість модулів відносяться до так званої "Умовно-безкоштовної" категорії. Це означає, що безкоштовно користувач отримує лише обмежену частину функціоналу. Для того, щоб мати доступ до всього функціоналу, потрібно сплатити.

Що робити, якщо функціонал вашого майбутнього веб-додатка виходить далеко за рамки функціоналу, який пропонує стандартне рішення у вигляді CMS? Можна спробувати знайти підходящі модулі і встановити їх через панель адміністрування. Але можливо зіткнутися з проблемою, що деякі з них просто не сумісні між собою. Крім того, повністю налаштувати модулі під потреби клієнта далеко не завжди є можливим. Тоді не можна уникнути звернення до програмістів, які спеціалізуються на обраній вами CMS. Під час розробки програмісти можуть стикнутися з функціоналом додатка, робота якого суперечить кастомізації, і тоді процес налаштування може забрати багато часу і грошей.

Основні мінуси:

  1. Великий обсяг;
  2. Низька швидкість роботи;
  3. Складність підстройки під конкретні запити клієнтів.

Тому, якщо спочатку передбачається веб-додаток із нестандартним функціоналом, краще зразу розробляти його на фреймворку. Більше про це в наступній частині статті.

Безкоштовна консультація

Наші експерти підберуть найкраще рішення