Чистий html, самописець, фреймворк або cms

Питання про те, на чому краще писати сайт, переважно, виникає в двох випадках: коли немає глибинного розуміння різниці, і під час несподіваної навантаження, що перевищує можливості системи. Власне, у другому випадку, мова йде про переписування сайту. Для початку коротко розглянемо різні варіанти.

Чистий html, самописець, фреймворк або cms

чистий HTML

Безперечною перевагою використання чистого HTML, а якщо сказати точніше - HTML + CSS (каскадних таблиць стилів) надзвичайно високу швидкодію і невисока навантаження на сервер. Але недоліком такого рішення є неможливість реалізації будь інтерактивності або динамічного формування сторінок. Такий сайт може бути виключно статичним. Управління контентом такого сайту є вкрай важким для некваліфікованого адміністратора / веб-майстри. Свого роду милицею може стати допоміжне ПО, яке допомагає генерувати HTML-код. Однак, таке управління сайтом є вкрай негнучким і незручним.

Чистий HTML доцільно використовувати для повністю статичних сайтів-візиток, дор-сайтів або Лендінзі (landing page).

Самописець, або, простіше кажучи - власний движок, надає широкі можливості реалізації будь-якого набору функцій і оптимізації сайту. Обмеження встановлює лише фантазія замовника, кваліфікація програміста і вартість розробки. Чому вартість? Тому що - це найдовший і трудомісткий шлях. Програмісту необхідно буде реалізовувати практично все: від взаємодії з базою даних і до внутрішнього інтерфейсу адміністратора. Звичайно, мова не йде про використання заготовок (власних фреймворків) розробником, що нерідко буває в арсеналі веб-програмістів.

Супровід і створення сайтів на самописних «движках» не його розробником, головним чином є складним, а документація - відсутня. Але якщо у вас є IT-відділ, - можете спробувати піти таким шляхом.

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

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

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

Недоліком переважної більшості CMS є більш низьке, в порівнянні з чистими фреймворками, швидкодія і більш високі вимоги до ресурсів, які обумовлені універсальністю можливостей і забезпеченням простоти управління контентом. Але для більшості CMS проблема продуктивності проявляється при дуже великих навантаженнях, або при інтенсивній роботі зі значними обсягами даних. Наприклад, для популярної в Росії платної системи управління Bitrix необхідні великі обсяги даних і виділений сервер. Прикладами ж популярних CMS з відкритим кодом є Drupal, WordPress і Joomla.

Чистий html, самописець, фреймворк або cms

Так що вибрати? У більшості випадків, CMS задовольнить потреби майже будь-якого веб-сайту. Набагато рідше реальна необхідність у використанні фреймворків. Доцільність використання самописних "движків" виникає вкрай рідко. Чистий HTML + CSS доцільний для реалізації простих статичних сайтів.

Схожі статті