Почему нужно разрабатывать сайты на CMS?

14.12.2018 Евгений Тютюнник Веб-разработка
932

Разработка веб-сайта, который должен решать какие-то задачи и приносить пользу может вестись в двух форматах:

  • Написание всего функционала с нуля.
  • Использование системы управления контентом (она же «CMS», она же «Движок»).

Два подхода принципиально различны. Попробуем разобраться в преимуществах и недостатках каждого:

Написание всего функционала с нуля.

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

Плюсы:

  • Сайт не имеет никакого лишнего функционала, только то, что сказал Заказчик и то, о чём вспомнил по пути разработчик.
  • Сайт весит меньше, иногда работает быстрее.
  • Все интерфейсы админки (если она вообще есть) максимально кастомизированы, просты и легки.
  • Нет дополнительных затрат на лицензию.

Минусы:

  • Сайт не стандартизирован. Используемые командой разработки языки программирования, алгоритмы, стили кодирования чаще всего так или иначе не соответствуют принятым стандартам, что вызовет в будущем проблемы с совместимостью, если нужна будет интеграция с другими системами.
  • Расширение команды или её полная смена потребует серьёзных затрат на поиск специалистов, которые работают на таком же языке программирования, используют те же библиотеки, на которых написан сайт или способны разобраться в чужом коде, не ломая велосипед.
  • Отсутствие необходимого функционала, когда он нужен. При разработке с нуля на первом этапе Заказчик и разработчик не вспомнят о некоторых вещах, которые необходимы, например, для поисковой оптимизации. Когда этот вопрос загорится, функционала для решения задачи на сайте не будет, нужно дописывать его и, опять же, с нуля.
  • Проблемы с безопасностью. Как правило, безопасность сайта, написанного с нуля, оставляет желать лучшего (конечно же, если вместе с разработчиками не работал отдельно специалист по безопасности, который указывал ребятам на дыры и заставлял их латать).

Использование системы управления контентом

Описание подхода: разработка сайта ведётся с использованием готовой системы управления контентом, которая предполагает строго определённую схему разработки.

Плюсы:

  • Сайт стандартизирован. Любая, даже бесплатная CMS, заставляет разработчика придерживаться определённых правил, ограничивает его полёт фантазии.
  • Наличие всего нужного функционала «в коробке». CMS система наполнена большим количеством полезного функционала, о котором вы можете и не подумать при разработке, но когда он станет необходим, вы удивитесь, что разработчики CMS уже подумали за вас.
  • Есть возможность быстрого расширения функционала. Как правило, современные CMS имеют в распоряжении огромное количество дополнительных модулей на все случаи жизни. Часто добавление нового функционала заключается в установке или адаптации уже имеющегося модуля, что в разы дешевле и быстрее, чем делать всё с нуля.
  • Заменяемость команды. При завершении сотрудничества с одной командой разработки можно достаточно быстро найти другую команду, которая работает с данной CMS, имеет достаточный опыт и знания для поддержки и развития вашего ресурса. Обычно на официальных сайтах CMS даже есть списки партнёров-разработчиков, к которым можно смело обращаться.
  • Безопасность сайта. Системы управления контентом (особенно коммерческие, то есть платные) регулярно обновляются, как в плане безопасности, так и в плане использования последних современных технологий.

Минусы:

  • Тяжесть функционала. Некоторые CMS настолько стараются предвосхитить желания заказчика или разработчика, что уже в базовой поставке имеют огромный ворох функционала, необходимость которого сомнительна. Это всё затрудняет освоение админки, может приводить к тому, что сайт медленно работает (хотя в 90% случаев скорость работы сайта обратно-пропорциональна отсутствию кривизны в руках разработчика).
  • Стоимость. Есть некоторые CMS, за которые нужно платить деньги. Это дополнительная статья расхода.
  • Ограничение гибкости. Иногда необходимо решать такие задачи, которые требуют грандиозных костылей. В случае с использованием CMS, есть вероятность и не решить такие задачи вовсе, так как, например, взять и невозбранно распилить ядро системы уважающая себя CMS попросту не даст.
Поделиться статьей