Какая CMS лучше? Часть 2

перейти к комментариям


Обзор CMS

В первой части статьи я раздавал негативные отзывы на CMS. Теперь пришло время любимчиков. В этой части расскажу про Bitrix и Drupal.

Bitrix

Битрикс — это монстр, но в хорошем смысле слова. Правда, вы это знаете и без меня (хотя бы, судя по дистрибутиву в 30 мегабайт). Но надо сказать, что умеет он действительно много — сделать можно практически любой сайт: от интернет-магазина до сайта знакомств. В виде подключаемых модулей есть форум, генератор веб-форм, баннеры… даже встроенные документооброт и help desk. И все это, надо сказать, по качеству исполнения не сравнишь с большинством open-source проектов. Подробнее я расскажу лишь о том, что понравилось больше всего лично мне.

Во-первых, Битрикс идеально подходит для сайтов с многочисленной командой поддержкой. Система прав доступа позволяет распределить роли самым подробным образом. Скажем, один человек будет заниматься новостями, второй редактировать только курсы валют, а третий — просматривать статистику рекламных кампаний. Все это очень легко настраивается.

Во-вторых, отличная система информационных блоков (которые есть даже в стартовой версии). Эти блоки позволяют делать контент любой сложности, набирая необходимые поля (как pagesetter у Postnuke). При этом, в 5-ой версии разработчики ввели долгожданную связь между разными инфоблоками, что позволяет строить из них структуры большой сложности, избегая дублирования информации.

Например, у вас есть каталог товаров, созданный при помощи инфоблоков. Вы добавляете признак производителя «Компания» (в форме добавления товара он выглядит в виде выпадающего списка), который позволяет фильтровать товары по компаниям на страницах. Затем вы решаете добавить на сайт новости этих самых производителей. Вы создаете новый тип инфоблока «Новости производителей» и связываете его с каталогом товаров через параметр «Компания». Теперь, при выводе товаров Sony, вы сможете где-нибудь сбоку вывести новости, связанные с этим производителем. И все это не требует программирования.

Вообще, большинство задач решается прямо из веб-интерфейса. Это понравится людям с низким уровнем подготовки — тех самых секретарш, которые занимаются наполнением многих сайтов. Но все таки, даже Битрикс не является «готовой системой из коробки» — чтобы получить приличный (и оригинальный) сайт все-равно придется поработать. Правда, делать это гораздо приятнее, чем в случае с Неткатом. Здесь гораздо меньше ограничений: хочешь — испольуй API, не хочешь — пиши функции PHP напрямую. Правда, при желании доработать любой из модулей «под себя», вы можете столкнуться с некоторыми трудностями. Движок явно не рассчитан на активную доводку и делается это обычно не самым эффективным образом.

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

Еще очень понравился интерфейс админской части 5-ой версии. Отлично выглядит, удобно спроектирован, грамотно использует новомодный AJAX (и при этом работает во всех современных браузерах) — просто образец для подражания. Сразу видно, что коммерческий продукт, за который не будет стыдно перед самым придирчивым клиентом. Однако этот клиент для комфортной работы должен купить себе как минимум, выделенный виртуальный сервер — за все приходится расплачиваться.

Еще у Битрикса очень хорошая техническая поддержка, которая поможет решить любые вопросы. Правда, каждый год ее надо продлевать (естественно, не бесплатно). В эту стоимость входит и отличная автоматическая система обновлений — больше никакой возни с FTP при апгрейде — клиенты сами могут обновлять свой сайт. Совсем недавно мы без проблем обновили один сайт со старой версии 3 до версии 5 (пошагово, сначала до 4-ой, а потом до 5-ой). И все прошло очень гладко.

Вывод можно сделать такой: если у клиента есть деньги, то Битрикс — очень правильное решение. Вы избавляетесь от большинства проблем, получая действительно качественный продукт. Да и спрос на специалистов по Битриксу только растет.

Drupal

Мое знакомство с 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 с другими тяжело. Лучше скачать и попробовать с ним поработать самостоятельно.

Кратко о других…

Пусть не обижаются фанаты перечисленных систем — пройдусь по ним очень кратко. Возможно вам стоит обратить на них внимание.

Надеюсь, что этот обзор (вместе с первой частью) поможет кому-нибудь в выборе движка для сайта.


Комментарии RSS для комментариев

  1. # Sergey 4377 дн. назад:

    А третья часть будет?

  2. # Александр Шабуневич 4377 дн. назад:

    А надо? =)

  3. # Uznick 4377 дн. назад:

    А typo3 смотрели? :)

  4. # Sergey 4377 дн. назад:

    Надо обязательно закатать длинное повествование о txp =)

  5. # Александр Шабуневич 4377 дн. назад:

    А typo3 смотрели? :)

    Смотрел. Был в ужасе =)
    Думаю, что не стоит затрат на изучение — есть инструменты гораздо понятнее.

  6. # Максим — 4376 дн. назад:

    Спасибо за обзор.
    Drupal я смотрел 1 раз, не разобрался и забыл.
    Ваши слова заставили меня повторно заинтересоваться, потому как я уже не могу работать с Joomla! Нервы дороже! (кто с ней работал меня поймет)
    А что значит CMF?
    Мне очень нравится TxP. Во сногим благодаря своему идеальному соответствию XHTML и минимальным вмешиванием в задумку дизайнера. Я тоже очень жду Вашего обзора этой CMS. :)

  7. # Александр Шабуневич 4376 дн. назад:

    А что значит CMF?

    CMF — Content Management Framework. То есть не просто готовый движок для сайта, а каркасная система. Подробнее можно прочитать в википедии

  8. # jtraub 4375 дн. назад:

    В основном идет Друпал... Иногда, когда сайт делается не слишком сложный, то просто пишется необходимый функционал на CakePHP

  9. # Mike Yarmish 4374 дн. назад:

    А что думаете по поводу sNews?

  10. # (v) 4371 дн. назад:

    CMF xoops это в перпективе, неправ мнение на счет текущих веток.

    а почему структурное и различие в бд не рассматривалось? время генерации страниц, сравнение поддержки локалей и тд тп.
    получился беглый обзор с обязательным выбором «дьюпала»..
    вы разработчик? – интересно с какой стороны ваша объективность

  11. # Максим — 4370 дн. назад:

    На мой взгляд, очень не плохой PHP Framework – Code Igniter
    Не приходилось пользоваться?

  12. # lel — 4369 дн. назад:

    А мне друпал понравилсо...особенно уровень локализации(для версии 4.7)...для людей сделано...

  13. # Setti @ PlayStation 4369 дн. назад:

    Drupal – самая гениальная и грамотная CMS в мире. Даже согласен – это именно framework. Кстати, если кому-то интересно, WordPress был написан под вдохновлением от Drupal’a

  14. # aiwentoor — 4367 дн. назад:

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

  15. # Kseire 4357 дн. назад:

    А SAPID забыли! Незаслуженно.
    http://sapid.sf.net

    Правда я его сам не использую, но все же, это, наверное, самая гибкая из CMS, которых я видел. Кроме платной SiteSapiens, но это вообще монстр (http://www.sitesapiens.ru).

  16. # memyself 4357 дн. назад:

    2aiwentoo
    Помоему там из всей локализации только справка включает теги...

  17. # Привет Пупсики !!! — 4356 дн. назад:

    друпал это самая правильная CMS – так-же как самая правильная виндовс – Gentoo !!!
    yaya

  18. # Александр Шабуневич 4356 дн. назад:

    а почему структурное и различие в бд не рассматривалось? время генерации страниц, сравнение поддержки локалей и тд тп.

    Конечно, обзор получился не самым развернутым. я просто излагал свою точку зрения. Если интересует сравнение производительности, то можно посмотреть, например, здесь

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

    Локализация может и не слишком удачно решена, но зато сделана через gettext, что облегчает перевод. А так как его поддержка есть не на всех серверах, то хранение в БД является наиболее подходящим решением. А теги там в основном только p — ничего страшного в этом нет.

    И я думаю, что любой движок (кроме, наверное, самописного) при определенной посещаемости потребует отдельный сервер.

  19. # ganges 4327 дн. назад:

    Отличная, просто великолепная статья о CMS, спасибо. Drupal – the best, как Вы и заметили, это отмечено даже спецами из IBM. По-моему на Lullabot.com я читал, что где-то в ноябре выйдет 4.8 с «врожденной» поддержкой CSS хуков и вот тогда кастомизировать шаблоны будет просто в кайф.

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

  20. # akella 4291 дн. назад:

    Думаю при выборе CMS не лишней будет ссылка – Redefining content management

  21. # kri 4274 дн. назад:

    А где новые обзоры CMS?

  22. # Алексей Новиков 4274 дн. назад:

    Тут взгляд, скорее программиста и разработчика, нежели конечного пользователя. С тем же монстром Битриксом у конечных пользователей проблем больше, чем с Вордом.

  23. # Роман — 4251 дн. назад:

    Мне Ваша статья напоминает «CMS для домохозяек» – заказную битриксом статью.

  24. # Александр Шабуневич — 4251 дн. назад:

    Мне Ваша статья напоминает «CMS для домохозяек» – заказную битриксом статью.

    Считайте как угодно. Может мне и правда с битрикса за статью денег попросить? =)
    Только вот зачем я в этой статье писал и про бесплатного конкурента? Видимо у одного битрикса на меня денег не хватило и они скинулись с друпалом в складчину.

  25. # Алексей 4100 дн. назад:

    Просто хочется сказать автору большое спасибо. Статья очень интересная и к тому же приятно, что не зря потрачено столько времени на рисерч друпала ;) — — – +1 постоянный посетитель ..)

  26. # Avdenago — 4080 дн. назад:

    Неплохие обзоры...

    Но. я более месяца искал СМС для одного проекта. так и не нашел. до сих пор в поисках. а дело в том, что нет ни одной системы чтобы подходила на все 100. при этом нужно всего два параметра. сколько не перебрал – нету такого, даже если ставить модули...

    Как вывод – выбор СМС дело индивидуальное... очень индивидуальное...

Что вы об этом думаете?


Какая CMS лучше? Часть 1 Веб-дизайнер: кто это?