{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Что выбрать: CMS или FRAMEWORK?

Здравствуйте! На связи Станислав Голоднов, основатель агентства комплексного интернет-маркетинга «Акцент на результат». Моя команда по собственному опыту знает, что перед началом создания любого сайта нужно решить, как будем его разрабатывать, будем использовать CMS или фреймворк? Ответ на этот вопрос мы сформулировали в этой статье.

Содержание:

Введение

Перед началом создания любого сайта необходимо выбрать инструменты разработки. И чтобы не писать сайт с нуля, что может занять очень много времени, разработчики часто используют фреймворки и CMS. Это помогает сэкономить время и упростить процесс. Но что выбрать? Рассмотрим подробнее плюсы и минусы каждого из инструментов.

CMS («Content Management System» – перев. система управления контентом) – инструмент для быстрой разработки, с готовым функционалом. Но он ставит определенные рамки, выйти за которые не возможно или возможно лишь потратив кучу времени, и таким странным способом, что можно навредить проекту. Это могут быть уязвимости, излишний расход ресурсов и т.д.

Например, переделать модуль заказа в модуль бронирования на некоторых CMS дольше, чем написать CMS, используя фреймворк. И все время разработки не будет покидать ощущение, что делаешь что-то похожее на это:

Framework (с англ. «каркас») – это шаблон для программной платформы, на основе которого можно дописать собственный код. Он включает в себя только базовые программные модули, а специфические компоненты разработчик создает на их основе. Это что-то среднее между написанием кода с нуля и использованием CMS.

Поэтому для начала важно определиться с техническим заданием: какой нужен набор функций на сайте и есть ли готовые CMS, подходящие клиенту. Чем больше доработок сейчас и планируется в будущем, тем разумнее использовать фреймворк, а если нет – то выбрать готовое решение.

Разработка на CMS

Давайте подробнее рассмотрим CMS, достоинства и недостатки.

Про готовые системы CMS есть мнение, что они “тяжелые”, в отличие от сайтов, написанных с нуля. Но так, но не совсем. С небольшим объемом данных, любой сайт будет показывать хорошие показатели, но с ростом посетителей и данных, на оптимизацию будет уходить все больше сил и времени.

Плюсы:

  • Скорость разработки: Для стандартного решения можно быстро создать шаблон с базовым функционалом (займет несколько дней);
  • Простота: Для работы администратору не нужен большой опыт в разработке;
  • Схожесть: Разные CMS по функционалу похожи друг на друга, и разобравшись в одной системе, работать с остальными будет проще;
  • Доступность и дешевизна: Создание шаблона занимает немного времени, поэтому проект будет относительно недорогим;
  • Специализация: Для разных проектов есть специализированные CMS (для новостного портала, интранета и т.д.) и они годятся для работы с основными задачами. Но их функционала, обычно, недостаточно для сложных e-commerce решений.

Минусы:

  • Ограниченность: Несмотря на широкий функционал, системы качественно решают только часть задач. Приходится мириться с тем, что не все потребности будут удовлетворены. Для нестандартных задач можно дописать код, но это будет отнимать много времени из-за негибкости CMS. А неосторожные доработки могут сломать всю структуру;
  • Шаблонность: CMS – это один конкретный набор модулей, под определенную задачу, которая мало кому подходит на сто процентов;
  • «Грязный» код: часть CMS автоматически создают строки ненужного кода, и чтобы их убрать, уходит много сил и времени;
  • Обновления: После обновления CMS часть ваших изменений может исчезнуть или перестать работать и придется привлекать специалиста;
  • Медленная загрузка: Чтобы угодить как можно большему количеству людей, в CMS закладывают самые разные функции, которые не всегда нужны проекту. Лишние функции не используются, но “утяжеляют” конструкцию.

Стоимость решения: Не стоит принимать решение о выборе CMS только из-за стоимости лицензии, ведь она может раствориться в общих затратах на содержание и развитие проекта.

Разработка на 1С-БИТРИКС

Одно из самых популярных решений 1С-Битрикс (БУС - Битрикс Управление сайтом) и мы расскажем о нем поподробнее.

1С-Битрикс самый используемый платный CMS. Его можно купить в разных редакциях. Однако, несмотря на то, что он богат по функционалу, от 1С он унаследовал все самое худшее. Пользователи и разработчики вынуждены сами подстраиваться под существующие решения, ведь если изменить компоненты, есть риск остаться без технической поддержки разработчика.

Плюсы:

  • Bitrix Marketplace – один из главных плюсов, ведь там есть множество решений от сторонних разработчиков;

  • Множество студий и разработчиков;

  • Широкий базовый функционал.

Минусы:

  • Неприспособленность системы для дальнейшего развития. Придется потратить немало времени и финансов на модернизацию;

  • Относительно невысокая нагрузочная способность. Пока сайт не очень популярен, система будет работать быстро. Но при увеличении посещаемости, система начнет тормозить и чтобы это исправить потребуется много времени и сил.

Бизнес-модель Битрикс привлекательна для разработчиков, но она не влечет за собой эволюционного развития продукта и поэтому не отвечает всем интересам заказчика. Многие проекты 1С-Битрикс создаются “по умолчанию”, не вдаваясь в тонкости системы. Эта система удобна для использования, когда нужно получить максимальный функционал при маленьких затратах. Отличное решение для небольших проектов и для тех, кто только открывает сайт.

Разработка на FRAMEWORK

Как мы уже говорили выше, при работе с фреймворками мы собираем нужное из готовых проектов. Фреймворки доступны на разных языках программирования, а также бывают самописные. Они могут быть базой сайта, приложения и даже CMS. Давайте рассмотрим положительные и отрицательные стороны этого типа инструментов подробнее.

Плюсы:

  • «Легкость» сайта: Нет лишних функций, сайт более производительный и работает быстрее;

  • Индивидуальность проекта: При работе код пишется с нуля. Здесь тоже есть определенные рамки, но они заключаются лишь в использовании синтаксических конструкций и общей структуры приложения. Так что можно учесть все пожелания заказчика и разработать сайт любой сложности и функционала;

  • Дополнения: Есть пакеты и библиотеки, с помощью которых реализуются готовые возможности и поэтому не придется абсолютно весь код писать с нуля;

  • Безопасность: Процесс сборки сайта с помощью фреймворков позволяет обнаружить и устранить все потенциально опасные дыры в безопасности.

Минусы:

  • Время: Разработка занимает больше времени, потому что придется большую часть функционала создавать с нуля. Но потом, выбрав удобную платформу, можно собрать набор готовых типовых функций и переносить их из одного проекта в другой;

  • Сложность: Для работы с фреймворком нужны квалифицированные разработчики. Также есть сложности в освоении админской части для администратора сайта. При переходе на другую платформу, изучать все придется заново, хотя есть похожие системы;

  • Дороговизна: Разработка сайта займет больше времени, квалификация работников должна быть выше, и поэтому проект будет стоить дороже, чем на CMS. Кроме того, будут дополнительные траты на обслуживание уникального сайта.

Рассмотрим подробнее фреймворк Yii дружелюбный к SEO

Yii довольно “возрастной”, но он продолжает обновляться. Он простой, его легко освоить и у него удобный функционал: кэширование, высокая производительность, полная обработка ошибок, возможность переноса (миграции) существующих баз данных, использование jQuery и т.д.

Этот фреймворк экономит время на разработке, а приложение будет работать чуть быстрее.

Плюсы:

  • Простота установки;

  • Он полностью объектно-ориентированный фреймворк, который включает в себя все преимущества продвинутых PHP функций;

  • Его легко настроить под свои нужды. Практически каждый компонент фреймворка является расширяемым;

  • Поставляется с компонентом Security, который предоставляет несколько методов для помощи в создании более безопасного приложения;

  • Благодаря функциональности, возможно создание сайтов любого уровня. Можно реализовать проекты под индивидуальные требования и особенности конкретного бизнеса;

  • Безопасность баз данных;

  • Масштабируемость.

Минусы:

  • Документация достаточно сложная, поэтому новичку будет крайне сложно создать полноценный веб-сайт.

Динамика востребованности CMS

Проанализировав динамику популярности CMS систем, можно увидеть, что общий тренд нисходящий, и пик популярности приходится на 2009-2010 года.

А график ниже - только по Битриксу. Здесь может и не так сильно заметно падающий график, но запросов по нему становится все меньше, не так резко, но меньше.

Сегодня вакансии с ключем битрикс очень востребованы, но специалистов мало. По данным HH России 10 202 вакансии.

Также нашей командой была рассмотрена динамика популярности фреймворков. И тут, мы считаем, результат очевиден.

Почему так происходит - не знаем. Для простого обывателя можем сравнить с развитием изобретения автомобильных двигателей. Карбюраторный -> Инжекторный -> Электродвигатель и т.д. Т.е. для людей не разбирающихся в этом не очевидны какие-то различия и преимущества, но они есть, видимо.

Выводы

Однозначного ответа, что выбрать - фреймворк или CMS, нет. CMS – простое, доступное решение, которое быстро сделают. Для работы с ним нужен минимальный опыт, но придется смириться с шаблонностью и ограничениями. У фреймворков гораздо больше возможностей, он позволит сделать уникальные продукты и воплотить все идеи, но ручная работа всегда дороже. Так что все зависит от задач проекта, бюджета и времени. А в случае с фреймворком - все зависит от того, насколько с ним знакома команда. Ведь часто это решение дороже и требует профессионализма, как со стороны исполнителя, так и со стороны заказчика.

0
Комментарии
-3 комментариев
Раскрывать всегда