В настоящее время для меня существуют три движка, которые полностью перекрывают все мои «хотелки», возникающие при разработке сайтов. Это Cotonti, Drupal и 1C-Битрикс. Каждый из них имеет свои плюсы и минусы, о которых я и хотел бы кратко рассказать.

Все движки написаны на PHP. В качестве базы по умолчанию выступает MySQL, но при необходимости возможны варианты. У всех имеются средства для работы с AJAX и прочие современные штучки. На каждом из них можно создать сайт любой сложности.

Cotonti

С этим opensource-движком я знаком дольше всего. Точнее сказать, – это новое его название. Ранее движок назывался Seditio, а еще раньше LDU. Менялись версии и названия, но основа долгое время модифицировалась не очень существенно. Чаще всего автором (ранее был один автор) исправлялись лишь ошибки. Эта разработка всегда оставалась «легкой» и «прозрачной». Дистрибутив и сейчас занимает менее 1Мб. Код и структура базы очень простые для понимания. Модули/плагины, на мой взгляд, может писать даже начинающий программист. Создать шаблон под данный движок также очень просто.

Cotonti

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

В последнее время Cotonti развивается большими шагами. Новые версии движка с существенными изменениями появлялись последний год-два чуть ли не раз в квартал. Более того, не так давно вышла версия движка Cotonti Siena 0.9, которая существенно модифицирована внутри. Вся эта активность с одной стороны очень радует — движок «живет» и улучшается, но с другой стороны, она затрудняет создание новых сайтов и обновление старых.

Готовых плагинов и скинов для Cotonti немного, но эта нехватка хорошо восполняется тем, что создание таковых собственными силами здесь простое. Данный движок больше могу порекомендовать именно разработчикам, которые хотели бы выжать максимум, затрачивая минимум системных ресурсов хостинга. Функциональность движка очень хорошо подстраивается под собственные нужды. При помощи хуков можно легко изменить и доработать все что угодно, не трогая код ядра.

Drupal

Начал знакомство с этим opensource-движком относительно недавно. Код и база движка также неплохо проработаны, но они более сложны для понимания. При детальном рассмотрении понимаешь, что структура базы правильная. Все сделано продумано и с учетом того, чтобы не ограничивать масштабируемось. Обратная сторона этого — тяжеловесность и плохая оптимизация на скорость.

Drupal

Меня в Drupal привлекает более завершенное состояние по сравнению с Cotonti. Здесь как-то все уже устоялось и можно не переживать за то, что завтра разработчики что-то кардинально изменят в коде. Работая с Cotonti последнее время я устал от этого. Правда, надо заметить, что Drupal версий 6 и 7 отличаются достаточно существенно и перейти с одной версии на другую может быть проблематично для хорошо развитого сайта. Но суть в том, что подобного рода изменения происходят нечасто.

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

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

1C-Битрикс

Известный коммерческий движок. Когда я только начал делать на нем сайты, то он назывался еще просто «Битрикс». Развивается последнее время достаточно интенсивно. Как и любой успешный платный продукт не обходится без маркетинга и рекламы. Сразу скажу, что здесь этого очень много! Судя по рекламе, движок прямо-таки лучший на свете, на нем и то и это можно сделать, да еще и легко. На деле это не совсем так.

1С-Битрикс

Под всей рекламой и красивым стандартным интерфейсом скрывается довольно посредственный код. Назвать его хорошим и уж тем более оптимальным никак нельзя. Иногда встречаются глупые ошибки, которые хорошо показывают уровень разработчиков движка. Для коммерческого продукта это, по-моему, позорно. Лично меня в свое время сильно еще расстроило то, что в движке массово используются устаревшие функции PHP, которые не поддерживают работу с кодировкой UTF-8. Конечно же, по рекламе известно, что такая кодировка все же поддерживается движком, однако для этого требуется включать «костыли» на хостинге, которые на счастье разработчиков 1C-Битрикс, предусмотрены в PHP. Вы никогда не задумывались, почему вдруг для 1C-Битрикс необходим некий особенный хостинг? Теперь одну из причин вы знаете.

База у 1C-Битрикс наиболее «мутная» из всех рассматриваемых движков. Назвать ее оптимизированной на скорость тоже нельзя, как и в случае с Drupal. Структура базы 1C-Битрикс явно имеет массу пережитков прошлого. Видимо, разработчики вынуждены ее оставлять таковой, чтобы обеспечить совместимость с прошлыми версиями движка.

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

Рекомендовать 1C-Битрикс могу в основном тем, кому важно, чтобы движок был коммерческим. Иногда для организаций другое просто неприемлемо. Если не разобравшись до конца вы приобрели этот движок с мыслями, что сайт можно будет сделать без усилий и дополнительных вложений, то придется смириться с тем, что это будет не самый лучший сайт. Если хочется чего-то особенного, то нужно будет программировать. На движке 1C-Битрикс можно делать неплохие сайты, но в целом он не лучше других.

Выводы

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