В этой статье я хотел бы рассмотреть плюсы и минусы использования бесплатных, платных и самописных систем управления контентом. Как с точки зрения
разработчика, так и клиента.
Споры о том, какой вид CMS предпочтительнее, не утихают
много лет. И к какому-то однозначному объективному решению прийти вряд ли возможно, но я постараюсь резюмировать все значимые факторы, с которыми лично мне пришлось столкнуться за последние 10 лет работы в сфере веб-технологий.
Критерии для разработчиков
Плюсы бесплатных движков
- Они бесплатные. Т.е. не приходится закладывать в стоимость сайта цену на CMS, таким образом Ваше предложение будет более конкурентноспособно.
- Большое количество готовых расширений, шаблонов. Шаблоны дизайна, в коммерческих сайтах, конечно, крайне редко используют, но вот множество готовых функциональных решений часто избавляет от изобретения велосипедов.
- Поддержка сообщества. Всегда можно найти ответ на свой вопрос на форумах.
- Проще найти помощника. Часто не хватает одного разработчика на проект. И если Вы работаете на самописном движке — найти программиста, который согласится с Вами работать будет сложнее.
- Качественный код. Открытый код означает, что тысячи разработчиков со всего мира вылижут код до идеального состояния.
Минусы бесплатных движков
- Проблемы с безопасностью. Несмотря на то, что разрабатывают такие движки тысячи программистов, и код там миллион раз проревьювен, ломают их гораздо чаще, чем самописные. Это связано с массовыми взломами. Ведь другие тысячи программистов ищут уязвимости. И когда информация о найденной уязвимости попадает в недобрые руки — на свет рождается хак, который роняет тысячи сайтов на данной CMS. И ваш клиент спросит не с разработчиков CMS, а с Вас.
- Тормоза. В бесплатных движках реализовано очень много функционала, вследствие чего страница, например, на друпале, при отключенном кэшировании, формируется до 3-х секунд. Эти CMS имеют неоправданно большую базу данных.
- Высокая нагрузка на хостинг. Если учесть, что выбор бесплатной CMS подразумевает еще и дешёвый хостинг, проблема становится критичной.
- Сложность в настройках. Очень уж их там много, как правило. Это проблема актуальна как для разработчиков, так и для пользователей, которым приходится копаться среди кучи ненужных, непонятных
- Ограничения на дизайн. Конечно, в итоге можно внедрить любой дизайн, но это куда сложнее, чем с самописным движком. Если дизайнер будет не Ваш штатный и не учтет особенностей CMS, с которой Вы работаете, итоговая картинка сайта может отличаться от макета. Что вряд ли порадует заказчика.
Плюсы платных движков
- Поддержка со стороны компании-разработчика. У серьёзных платных CMS, типа битрикса, всегда есть служба поддержки.
- Поддержка сообщества.
- Маркетинговые объедки. Как правило, в рекламу платных CMS их владельцы вкладывают серьёзные средства. Поэтому эти названия на слуху у клиентов и им может показаться, что это круто, что Вы используйте такие известные технологии.
Минусы платных движков
Многие минусы те же, что и у бесплатных движков, поэтому их я не буду подробно комментировать.
- Они платные.
- Тормоза.
- Сложность в настройках.
- Ограничения на дизайн.
Плюсы самописных движков
- Гибкость. В самописном движке в разы проще изменить какой-то модуль или создать новый. Вы знаете свой код наизусть.
- Простота. В Вашем движке только то, что Вам нужно. Никакого лишнего кода. Весь существующий код Вы знаете от и до.
- Опыт. Во время создания собственной CMS Вы приобретаете незаменимый опыт в веб-разработке.
Минусы самописных движков
- Много времени и сил занимает написание собственной CMS. Плюс создание документации — не такая уж маленькая задача, которой нельзя пренебрегать.
- Отсутствие сообщества. Никто Вам не поможет с общими проблемами движка.
Критерии для пользователей
Плюсы бесплатных движков
- Они бесплатны.
- Есть множество шаблонов. Вы можете не тратиться на дизайн и верстку. Программист установит Вам сайт со стандартной структурой и бесплатным шаблоном за пол-часа.
- Вы можете сменить разработчика. С популярными бесплатными движками работает большое количество программистов. И, если тот, кто сделал Вам сайт пропал без вести, или стал брать за изменения непомерные суммы — Вы легко можете найти ему замену. Однако, если Ваш сайт не стандартный, — в нём может быть много кода, написанного первым программистом. И разобраться в нем новому человеку будет почти так же сложно, как
- Документация. По любому популярному движку Вы без проблема найдете в сети исчерпывающую документацию.
Минусы бесплатных движков
- Сложность в настройках. Очень
- Ограничения на дизайн. Если дизайнер штатный, и программист объяснит ему все требования используемого движка — то дизайнер будет ограничен этими требованиями, и может не удовлетворить все Ваши пожелания. Если же дизайнер забьёт на ограничения движка, то конечный результат может отличаться от макета.
- Возможность взлома. Как я уже писал Выше для разработчиков — сайты на бесплатных движках, по статистике, чаще подвержены взломам. Ведь код таких движков открыт для всех, и уязвимости в нем находят регулярно.
Плюсы платных движков
- Надежность. Разработчики платных CMS очень пекутся о своей репутации, поэтому не позволяют ставшей известной уязвимости просуществовать достаточно долго, чтобы ею успели воспользоваться.
- Множество готовых модулей. Это значит, что если Вы купили движок, то подключение различного функционала обойдется Вам дешевле, чем если бы программист писал его «с нуля».
- Поддержка со стороны разработчиков движка. В случае возникновения проблемы, если разработчик Вашего сайта недоступен — Вы можете обратиться в службу поддержки разработчика CMS. Если проблема связана с движком — Вам помогут.
Минусы платных движков
- Они платные.
- Ограничения на дизайн (см. объяснения выше).
Плюсы самописных движков
- Легкость. В сайте сделанном на самописном движке будет только тот функционал, который Вам нужен. Поэтому такой сайт будет быстрее работать, меньше занимать места на хостинге (т.е. хостинг обойдется Вам дешевле)
- Гибкость. Никаких ограничений в функционале. Если Вам потребовалось что-то особенное, программист не скажет Вам, что такого функционала в движке нет, и обычно всё делают вот так и так. При создании сайта на самописном движке — программисту проще исполнять Ваши оригинальные фантазии.
- Цена. Разработчикам с самописными CMS не приходится закладывать их стоимость в цену сайта, это их собственность, за которую они никому ничего не должны (как и в случае с бесплатными CMS).
Минусы самописных движков
- Привязка к одному разработчику. Если в какой-то момент Вы захотите расторгнуть сотрудничество с разработчиком, который сделал Вам сайт, найти человека, который согласится работать с чужим самописным движком — будет достаточно проблематично. Однако, сайт, как правило, делается не для того, чтобы его постоянно ковырять. Он делается всерьёз и надолго.
- Ошибки. Если разработчик движка недостаточно опытен, или движок ещё «сырой», — велика вероятность возникновения ошибок на сайте.
Подсчитывать плюсы и минусы перечисленных вариантов, чтобы определить, что же лучше — я считаю бессмысленным, однозначного ответа здесь нет. Однако, как веб-разработчик, имевший дело со всеми видами движков (платных, бесплатных, самописном), хочу выразить своё мнение: если Вы программист, и собираетесь долго и серьёзно заниматься созданием сайтов, то пишите собственный движок. Это избавит Вас от скучного копания в чужом коде, вместо того чтобы получать удовольствие от создания собственного продукта, когда можно радоваться каждому новому функционалу. Рано или поздно у Вас появятся свои, нестандартные проекты, где Вам очень пригодятся наработки Вашего движка. Вы не будете отвечать за дыры в чужих CMS, да и ломать Ваши сайты будут реже.
Если же Вы — клиент, и ищите разработчика сайта, то обращайте внимание, в первую очередь, на дизайн, на репутацию, на надежность и удобство сайтов, на стоимость. Нет никакого смысла переплачивать тысячи или десятки тысяч разработчику, который создаёт сайты на CMS с громким, разрекламированным именем. Не бойтесь использовать бесплатные CMS, сломать можно любой сайт, на любой CMS. Платной, бесплатной и самописной. Какие технологии используют программисты — это не самое важное.