Как стать автором
Обновить

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

Время на прочтение3 мин
Количество просмотров39K

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

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

Скорость работы
Бенчмарки беты показывали упадок в скорости в 3-4 раза в сравнении с Drupal 7, который сам был намного медленнее Wordpress.

image

Но infanty убедил меня попробовать сделать отдельный бенчмарк, я создал DigitalOcean дроплет за 5$/месяц и вот его результаты:

Кэш включен

#siege -b -c20 -t60S http://xxxxxxxx/drupal7/taxonomy/term/1

Transactions:		       11892 hits
Availability:		      100.00 %
Elapsed time:		       59.10 secs
Data transferred:	       36.69 MB
Response time:		        0.10 secs
Transaction rate:	      201.22 trans/sec
Throughput:		        0.62 MB/sec
Concurrency:		       19.93
Successful transactions:       11892
Failed transactions:	           0
Longest transaction:	        1.31
Shortest transaction:	        0.03


#siege -b -c20 -t60S http://xxxxxxxx/drupal8/taxonomy/term/1

Transactions:		        5843 hits
Availability:		      100.00 %
Elapsed time:		       59.84 secs
Data transferred:	       20.48 MB
Response time:		        0.20 secs
Transaction rate:	       97.64 trans/sec
Throughput:		        0.34 MB/sec
Concurrency:		       19.96
Successful transactions:        5843
Failed transactions:	           0
Longest transaction:	        1.36
Shortest transaction:	        0.07


Больше чем в два раза медленнее в сравнении с предыдущей версией!
Еще один бенчмарк родившейся благодаря chilic из сегодняшнего холивора: devhell.ru/drupal-7-vs-drupal-8-performance

Встроенный 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).
Теги:
Хабы:
Всего голосов 26: ↑19 и ↓7+12
Комментарии51

Публикации

Истории

Работа

PHP программист
102 вакансии

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань