Розробка сайту на cms або framework

CMS схожа на набір конструктора Лего: красива коробка з різнокольоровими детальками, з яких можна зібрати що завгодно. В рамках цієї коробки, звичайно. І якщо у вас є Лего з хоббитами, то в межах Середзем'я ви - цар і бог.

Але населити свій світ інопланетянами або піратами з тієї ж коробки з хоббитами ви ніяк не зможете - їх там просто немає, не поклали! Цим CMS і засмучує.

CMS (Content Management System, система управління контентом) - це софт, який використовується для створення, управління і редагування вмісту веб-сайту. І ось уявіть, що цей софт - ваш вже куплений і зібраний конструктор з тими ж хоббитами, Зіркою Смерті або середньовічним кораблем.

Розробка сайту на cms або framework

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

Детальки від Лего, як і фломастери, - на смак і колір різні. Тобто ви можете зустріти як узкооріентірованние системи (спеціально під блоги, онлайн-магазини, форуми), так і універсальні. Деякі можна використовувати безкоштовно, а за деякі доведеться заплатити. Більшість CMS пишеться на мові PHP, тому на виході ми отримуємо вихідний код, в який можна внести зміни, правда для цього потрібні зусилля розробників.

А ось і невеликий список найбільш популярних систем:

Розробка сайту на cms або framework

  • Joomla - часто оновлюється, надається безкоштовно, досить проста для розробки і використання. Також вона супроводжується великою кількістю готових модулів, правда, досить низької якості.
  • Drupal - універсальне середовище для розробки сайтів будь-яких форм і розмірів, безкоштовна, підходить для умілих фахівців.
  • MODx - гнучка система, ефективна, безкоштовна, але теж вимагає певних навичок і досвіду.
  • 1C Бітрікс - масштабна CMS від 1С, надається на платній основі і в різних модифікаціях. Бітрікс обіцяє інтеграцію з 1С, але потрібно підготуватися до того, що не завжди це буде легко, просто і бюджетно. Краще відразу зверніться до розробників, щоб порівняти структури і версії 1С на сайті, в каталогах і взагалі скрізь. Тому що, коли вони відрізняються, то швидше за все, доведеться вдатися до нештатної інтеграції. І якщо з коробочки інтеграцією ризики затягнути терміни і вийти з бюджету йдуть до нуля, то нештатна ситуація може витягнути порядно і нервів, і коштів, і часу. При цьому коробковий варіант спрацьовує, як правило, для одного з трьох випадків.
  • WordPress - безкоштовно розповсюджується середа з відкритим вихідним кодом і вбудованою системою численних плагінів і тем (платних і безкоштовних).

Новий сайт може бути для вас черговою іграшкою або, навпаки, життєво важливим проектом. Але незалежно від його ролі у вашому житті, намагайтеся приймати зважене рішення щодо веб-розробки на CMS. Просто порівняйте всі за і проти, які ми знайшли:

  • Швидкість. Якщо вам потрібно стандартне рішення, то шаблон з базовим функціоналом можна створити і за 15 хвилин.
  • Простота. Робота з CMS вимагає від програміста мінімального досвіду, тому є небезпека - отримати на виході продукт безглуздий і дає збої. Адже хто знає, там справжній професіонал працює або це студент з самовчителем під пахвою вирішив потренуватися?
  • Схожість. Функціонал різних CMS перегукується один з одним, тому, розібравшись в одній системі, простіше буде працювати і в інших.
  • Доступність. Завдяки швидкості створення шаблону, результат виходить порівняно дешевим.

Розробка сайту на cms або framework

  • Обмеженість. Хоч у кожної CMS є широкий функціонал, більшість систем якісно вирішує дуже обмежене коло завдань. Найчастіше доводиться шукати компроміси і погоджуватися з тим, що всі ваші потреби не вийде задовольнити.
  • Шаблонність. Як ми і говорили, CMS - це один конкретний набір Лего, заточений під певну тематику. А якщо знадобиться встановити щось нове, доведеться знову залучати розробника. Практика показує, що навіть невеликі правки можуть вирости в повнорозмірну інтеграцію. Воно вам треба?
  • «Брудний» Код. Деякі CMS займаються самодіяльністю, автоматично генеруючи рядки непотрібного коду. А щоб його почистити, буде потрібно немало часу. І звичайно, ніхто не захоче цим займатися.

«Натягуючи» свій сайт на CMS, ви прив'язується до кінцевої структурі, яка повинна підходити вашому контенту, цілям і потребам бізнесу.

Ця модель може привести вас до великих звершень, якщо ви перфекціоніст 80 рівня і робите все послідовно, логічно, при цьому залишаючи всіх задоволеними ... Але утопія триватиме рівно до тих пір, поки директор або маркетолог не запитав щось унікальне. І тут ми хочемо поговорити про Framework.

Framework ( «каркас» з англійської) - це програмна платформа, представлена ​​набором бібліотек. І якщо CMS схожа на Лего, то framework можна порівняти з 3D принтером - друкуй що завгодно, хоч той же конструктор!

Які типи Framework бувають?

Треба відзначити, що існує безліч видів framework для різних мов - Java, Ruby, Python, Groovy і т.д. Нас же цікавлять PHP «каркаси». Одні з найпопулярніших в нашій команді це:

  • Yii - безкоштовний софт з великою кількістю бібліотек, допомагає дуже серйозно скоротити час розробки, тому використовується для створення великих веб-додатків.
  • Zend Framework - також вільно розповсюджуваний продукт, дозволяє використовувати різні СУБД, використовує принцип «слабкого зв'язування» з мінімальними залежностями між частинами проекту, що дозволяє їх легко коригувати окремо. Zend Framework 2 може похвалитися дуже якісним вихідним кодом аж до «академічності», масштабованість, високим рівнем абстракції.
  • Laravel - і знову безкоштовний framework, обіцяє позбавити від «спагетті» коду, по суті скомпільовано з хороших рішень інших «каркасів», супроводжується якісною і лаконічною документацією з прикладами.

За або проти Framework?

Звичайно, і тут є різнополюсні доводи. Ми наводимо, ну а ви зважуєте.

  • Високий ККД. Швидше «каркаса» літає тільки чистий PHP, який може і не забезпечувати належного рівня безпеки, тому framework в цьому сенсі є оптимальним.
  • Кастомізація. Якщо у випадку з CMS ми збираємо конструктор в передбачувану форму і відійти від неї дуже складно, то з framework у вас є можливість творити унікальності! Замовник може запитати практично що завгодно, і розробники з задоволенням приймуть виклик.
  • Мотивація. Ми поспрашивали у своїх прогерія, і вони одноголосно сказали, що працювати з «каркасами» цікавіше. А чим більше розробнику подобається проект, тим вище рівень виконання.
  • Безпека. У процесі складання сайту з framework простіше знайти і усунути можливі дірки в безпеці. Наприклад, за рахунок використання ORM (Object-relational mapping, технологія об'єктно-реляційного відображення), яка являє собою прошарок між додатком і базою даних, можна знизити до мінімуму появу SQL-ін'єкцій.
  • Складність. Для повноцінної роботи з «каркасами» потрібен хороший досвід, кілька виконаних проектів і набитих гуль за плечима. А знайти фахівця відповідного рівня буває ох як непросто.
  • Бюджет. Так, кастомними рішення дорожче, ніж готовий варіант з коробочки. Вам вирішувати, чи варто воно того.

Як мені краще застосувати ці CMS і Framework?

А на солодке пропонуємо наш невеликий чекліст. Він допоможе вам визначити правильний напрямок при розробці наступного сайту.

Для яких проектів краще іспользоватьCMS?

  • Готове рішення з типовим функціоналом.
  • Сайт візитка.
  • Інтернет-магазин з середньою відвідуваністю.
  • Сайт для малого і середнього бізнесу.

Для яких проектів краще використовувати Framework?

  • Нетиповий або унікальне рішення.
  • Нешаблонне верстка.
  • Сайт з високою відвідуваністю і навантаженням (highload).
  • Активно розвивається, розширюваний і / або стихійно змінюється під вимоги ринку проект.

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

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

Поділіться, чи будете ви пользоватьсяCMS / Framework на своєму наступному сайті і чим користуєтеся зараз?