Какая CMS лучше? Часть 2
2006-07-23 перейти к комментариям

В первой части статьи я раздавал негативные отзывы на CMS. Теперь пришло время любимчиков. В этой части расскажу про Bitrix и Drupal.
Bitrix
- Сайт: bitrixsoft.ru
- Цена: 170 — 1 700 долларов США (версии для Oracle/MSSQL стоят еще дороже)
- Плюсы: инфоблоки; система обновлений; поддержка; отличная документация; надежность
- Минусы: требовательность к ресурсам; некоторая ограниченность в доработке
Битрикс — это монстр, но в хорошем смысле слова. Правда, вы это знаете и без меня (хотя бы, судя по дистрибутиву в 30 мегабайт). Но надо сказать, что умеет он действительно много — сделать можно практически любой сайт: от интернет-магазина до сайта знакомств. В виде подключаемых модулей есть форум, генератор веб-форм, баннеры… даже встроенные документооброт и help desk. И все это, надо сказать, по качеству исполнения не сравнишь с большинством open-source проектов. Подробнее я расскажу лишь о том, что понравилось больше всего лично мне.
Во-первых, Битрикс идеально подходит для сайтов с многочисленной командой поддержкой. Система прав доступа позволяет распределить роли самым подробным образом. Скажем, один человек будет заниматься новостями, второй редактировать только курсы валют, а третий — просматривать статистику рекламных кампаний. Все это очень легко настраивается.
Во-вторых, отличная система информационных блоков (которые есть даже в стартовой версии). Эти блоки позволяют делать контент любой сложности, набирая необходимые поля (как pagesetter у Postnuke). При этом, в 5-ой версии разработчики ввели долгожданную связь между разными инфоблоками, что позволяет строить из них структуры большой сложности, избегая дублирования информации.
Например, у вас есть каталог товаров, созданный при помощи инфоблоков. Вы добавляете признак производителя «Компания» (в форме добавления товара он выглядит в виде выпадающего списка), который позволяет фильтровать товары по компаниям на страницах. Затем вы решаете добавить на сайт новости этих самых производителей. Вы создаете новый тип инфоблока «Новости производителей» и связываете его с каталогом товаров через параметр «Компания». Теперь, при выводе товаров Sony, вы сможете где-нибудь сбоку вывести новости, связанные с этим производителем. И все это не требует программирования.
Вообще, большинство задач решается прямо из веб-интерфейса. Это понравится людям с низким уровнем подготовки — тех самых секретарш, которые занимаются наполнением многих сайтов. Но все таки, даже Битрикс не является «готовой системой из коробки» — чтобы получить приличный (и оригинальный) сайт все-равно придется поработать. Правда, делать это гораздо приятнее, чем в случае с Неткатом. Здесь гораздо меньше ограничений: хочешь — испольуй API, не хочешь — пиши функции PHP напрямую. Правда, при желании доработать любой из модулей «под себя», вы можете столкнуться с некоторыми трудностями. Движок явно не рассчитан на активную доводку и делается это обычно не самым эффективным образом.
С шаблонами тоже не возникает никаких проблем лишь при условии, что вы знаете PHP, так как никакой шаблонной системы нет. Лично я это я считаю плюсом, так как не люблю ограничивать себя премудростями каких-то замысловатых шаблонных движков, тем более, что сам PHP с этим прекрасно справляется.
Еще очень понравился интерфейс админской части 5-ой версии. Отлично выглядит, удобно спроектирован, грамотно использует новомодный AJAX (и при этом работает во всех современных браузерах) — просто образец для подражания. Сразу видно, что коммерческий продукт, за который не будет стыдно перед самым придирчивым клиентом. Однако этот клиент для комфортной работы должен купить себе как минимум, выделенный виртуальный сервер — за все приходится расплачиваться.
Еще у Битрикса очень хорошая техническая поддержка, которая поможет решить любые вопросы. Правда, каждый год ее надо продлевать (естественно, не бесплатно). В эту стоимость входит и отличная автоматическая система обновлений — больше никакой возни с FTP при апгрейде — клиенты сами могут обновлять свой сайт. Совсем недавно мы без проблем обновили один сайт со старой версии 3 до версии 5 (пошагово, сначала до 4-ой, а потом до 5-ой). И все прошло очень гладко.
Вывод можно сделать такой: если у клиента есть деньги, то Битрикс — очень правильное решение. Вы избавляетесь от большинства проблем, получая действительно качественный продукт. Да и спрос на специалистов по Битриксу только растет.
Drupal
- Сайт: drupal.org, drupal.ru
- Цена: бесплатная
- Плюсы: контроль над шаблонами; архитектура системы; API; таксономия; сообщество
- Минусы: нет системы установки; трудность работы без подготовки; требуется знание английского
Мое знакомство с Drupal было непростым: всю его прелесть я понял только с третьего раза (т. е. два раза его смотрел, а увидел только на третий). Кроме того, Drupal — это такая система, которой не подходит простое сравнение с другими CMS по функционалу. Да и не CMS это вовсе, а настоящая CMF с несколькими готовыми решениями «на борту». Именно из-за знакомства с Drupal я отложил изучение Ruby on Rails (и не только я предпочел Drupal — IBM тоже).
Поэтому, если вам нужно готовое решение для быстрого создания сайта, то возьмите лучше Битрикс (или Joomla, если денег нет). Но если вы хотите полностью контролировать внешний вид и функционал вашего сайта (степень контроля зависит только от вашего желания), и при этом не использовать грязных методов (вроде хаков исходного кода ядра и модулей), а работать только через API и чрезвычайно гибкую шаблонную систему, то Drupal для вас.
Вообще, в первую очередь, Drupal — это конструктор. Именно из-за этого он не имеет привлекательного админского интерфейса и автоматической системы установки (в новой версии она уже будет). В ядре содержится только самое необходимое — самый низкий уровень, функции которого потом используют различные модули. Сделано все очень очень изящно и разумно, и почти всегда есть как минимум два способа сделать то, что вам нужно. Зачастую этот выбор сам по себе является проблемой — сделать можно все (или почти все) — вопрос только в том, какой способ предпочесть (и какой модуль выбрать).
Именно из-за этого новички могут остановиться на другой CMS, ведь чтобы найти нужный модуль с непривычки может потребоваться много времени.
Для программиста работа с Drupal — это как глоток свежего воздуха (в отличие от Joomla, Postnuke и даже Bitrix). Простой и понятный код, мощный API, отличная документация — что еще надо? Сама структура ядра предполагает легкое переопределение большинства функций ядра и модулей (и почти всех, отвечающих за вывод) при помощи «хуков». Писать свои модули очень легко. Всего пара специальных функций в файле filename.module — и ваш модуль готов.
Можно подумать, что Drupal предназначен в первую очередь для программистов. Но это не значит, что если вы дизайнер, то у вас не получится сделать оригинальный и привлекательный сайт. Если вы не знаете PHP, то можно поставить другой шаблонный движок (например, Xtemplate) и работать с ним. Писать своих модулей тоже, скорее всего не придется. Достаточно пройти на сайт и скачать нужные (а система инсталляции в новой версии 7.4 заметно облегчит процесс установки новых модулей).
Некоторой проблемой может стать незнание английского языка, так как 95% материала требуется брать с сайта drupal.org. Русское сообщество пока не слишком активно, что может затруднить обучение.
Какие же еще преимущества Drupal имеет перед другими системами? В первую очередь — необычный подход к структуре и содержимому. В большинстве CMS вы сначала определяете структуру сайта через меню, а затем «подвязываете» документы к разделам. В Drupal, первично содержимое. Вы создаете документы, а затем связываете их при помощи уникального механизма таксономии.
Из википедии:
…таксономией является древообразная структура классификаций определенного набора объектов…
Или, проще говоря, иерархия. Только иерархия эта может иметь довольно разветвленный вид (множественные родители, синонимы).
Как же применять таксономию на сайте? В самом простейшем случае можно делать выборки новостей по разным разделам. Кроме того, существует несколько модулей, которые автоматически строят иерархическое меню разделов, основываясь на таксономии. При этом, документом может быть что угодно — статья, новость, картинка — все это при помощи таксономии можно структурировать и связать между собой.
Если хотите более сложных применений, то легко можно создать подобие онлайн-энциклопедии с автоматическими связями между похожими страницами (определяемыми тегами), механизмом взаимных ссылок (как у wiki) и несколькими параллельными фильтрами для выборки нужных статей. Кроме того, на друпаловской таксономии работает целый ряд сторонних модулей. Часть из них отвечает за ограничение доступа, другие могут менять оформление сайта в зависимости от категории и так далее.
Drupal можно применять для сайта почти любого типа. От простых статичных сайтов (система псевдонимов позволяет задавать любые URL для страниц) до навороченных коммьюнити-порталов. В дизайне сайта практически не будет ограничений, и пусть вас не обманывает «портальность» многих сайтов на друпале — все зависит лишь от желания и опыта разработчика. Вот пример «непортального» сайта.
Drupal имеет встроенную систему внутреннего кеширования, которая обеспечивает стабильную работу даже при перегрузках (slashdot- и digg-эффекты). Кроме того, часть функционала можно автоматически отключать при наплыве посетителей. Сильно посещаемые сайты на Drupal лично я не делал, но примеры drupal.org и theonion.com должны быть показательны.
Вообще, как я уже говорил, сравнивать Drupal с другими тяжело. Лучше скачать и попробовать с ним поработать самостоятельно.
Кратко о других…
Пусть не обижаются фанаты перечисленных систем — пройдусь по ним очень кратко. Возможно вам стоит обратить на них внимание.
- Modx — пока очень молод; отпугнул админкой, отказавшейся работать в Опере, а также вот этой картинкой (сравнить с Drupal).
- LDU (Seditio) — нехорошая лицензия; старая версия больше не поддерживается, а новая еще «не доросла».
Надеюсь, что этот обзор (вместе с первой частью) поможет кому-нибудь в выборе движка для сайта.
# 1326 дн. назад:
# 1326 дн. назад:
# 1326 дн. назад:
# 1326 дн. назад:
# 1326 дн. назад:
# 1325 дн. назад:
# 1325 дн. назад:
# 1324 дн. назад:
# 1323 дн. назад:
# 1320 дн. назад:
# 1319 дн. назад:
# 1319 дн. назад:
# 1318 дн. назад:
# 1316 дн. назад:
# 1306 дн. назад:
# 1306 дн. назад:
# 1305 дн. назад:
# 1305 дн. назад:
# 1276 дн. назад:
# 1240 дн. назад:
# 1223 дн. назад:
# 1223 дн. назад:
# 1200 дн. назад:
# 1200 дн. назад:
# 1049 дн. назад:
# 1029 дн. назад: