Вышел Drupal 8 — критический взгляд

от автора


После 4-х лет разработки наконец вышла стабильная версия Drupal 8. При этом реакция сообщества оказалась довольно разделенной, одни считают что этот релиз имеет все шансы полностью свергнуть и заменить WordPress, другие что после столько лет в стороне Drupal растерял большинство пользовательской базы и вряд ли соберет ее обратно. Вся причина в иной идеологии чем в других CMS, Drupal 8 делает упор на расширяемость и удобство разработки вместо просто редактирования контента. Как результат по настоящему оценить его можно будет где-то года через два, когда наполнится база модулей. Но разу он уже вышел то попробуем посмотреть на тот функционал какой есть с точки зрения разработки уже сегодня.

Symfony 2
Еще сначала разработки самая нашумевшая новость была о переходе на компоненты Symfony 2. Это сильно упростит порог входа для тех разработчиков которые уже с ними знакомы, но может отпугнуть многих привыкших к функциональному программированию плагинов на WordPress. А ведь ассортимент плагинов является важным фактором при выборе CMS. Кстати стоит заметить что Symfony 2 никогда не был быстрым фреймворком, что приводит на с к следующему пункту.

Скорость работы
Последние бенчмарки показывают упадок в скорости в 3-4 раза в сравнении с Drupal 7, который сам был намного медленнее WordPress. В результате использовать его на дешевых shared хостах скорее всего не получиться.

image

Встроенный CKEditor
Найти красивый WYSIWYG редактор для Drupal 7 всегда было проблемой. Стандартный редактор имел очень сильно урезанный функционал и выглядел как дитя 90-х, особенно на фоне встроенного редактора WordPress. Встроенный CKEditor выглядит намного лучше.

image

Все дальше нет менеджера рисунков
Загрузить рисунок в статью можно, но функционал существенно урезан. В WordPress есть менеджер загрузок, автоматический ресайз под несколько размеров, даже банальное удаление. В Drupal 8 можно просто загрузить и вставить. Конечно со временем кто-то сделает плагин с нужным функционалом, но пока ничего нет.

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

image

Views из коробки
Самый популярный плагин из Drupal 7 позволяющий строить произвольные списки контента, виджеты и прочее теперь доступен из коробки. Фактически он являлся киллер фичей так что его включение в Core не может не радовать.

Twig
Drupal 8 теперь использует тот же шаблонизатор что и Symfony2. Хорошее решение, думаю многим понравится.

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

Под капотом

REST API
Очень интересная фича открывающая много возможностей по связке сайта например с мобильными приложениями.

Свой стиль кода
Я очень надеялся что если они уж решили взять Symfony2 за основу то будут использовать и их стандарт кода, но нет. Вместо привычного PSR-2 нас ждет свой стиль кода основан на старом PEAR стандарте.

Не совсем ООП
Если вас раздражали всяческие хуки, массивы и магические строки в Drupal 7 которые надо было знать наизусть и вы ожидали красивого ООП подхода, то тут тоже немного разочарование. По коду все равно бегают массивы, магические строки перекочевали из хуков в .yml файлы конфигурации. Но зато есть DI контейнер.

Свой ORM
Идея построить Drupal 8 на Doctrine прошла только частично, из нее используется только парсер аннотаций. Как минимум можно было взять еще и DBAL. В любом случае как раз ORM самая часто использованная часть после может темплейтинга, было бы хорошо не изобретать новый велосипед.

Мои мысли

Не думаю что он пошатнет WordPress. Скорость работы и разработки являются критическими факторами для множества компаний делающих сайты под заказ. Скорее всего он займет нишу фреймворка для более сложных сайтов может даже чуть-чуть заменив на рынке саму Symfony2.

Попробовать Drupal 8 можно тут (нужна регистрация, но не надо подтверждать email).

ссылка на оригинал статьи http://habrahabr.ru/post/271323/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *