Современные решения ИТ задач и программной инженерии

Когда стоит использовать CMS а когда писать все с нуля

11.07.2015 в разделах ИнтернетПрограммированиес тегом cms
Когда стоит использовать CMS а когда писать все с нуля
Почти каждый раз, приступая к новому проекту, поднимается вопрос о написании сайта на какой то популярной CMS (использовать готовое решение) или же писать все с нуля? На самом деле нужно смотреть по обстоятельствам и по возможностям, иногда по требованию заказчика.

Однозначно ответить на этот вопрос невозможно. Стоит всегда расчитывать на такие параметры как соотношение скорости и качества, безопасности, сложности и пожелания заказчика.

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

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

Бывают случаи когда можно совмещать CMS и сайт/сервис, код которого написан полностью вручную. Примером это может быть сервис, код которого написан полностью вручную и блог этого сервиса на том же домене только по другому url на CMS Wordpress например. Здесь можно получить прирост во времени, которое не будет использоваться на написание полноценного блога с нуля. То есть в конечном итоге у нас работает сервис, код которого написан с нуля и блог, например на CMS Wordpress который никоим образом не пересекается с кодом сервиса.

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

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