Друзья, вы мне, конечно [1] [2], не поверите, но вышел Drupal 8. В последнее время поступает достаточно много вопросов на тему того, что почитать, посмотреть, послушать для изучения восьмерки. Очень многие чувствуют себя не вполне уверенно и задаются вопросами: переходить на неё или не переходить, жив Drupal или нет, и всем прочим.
В данной статье я выскажу своё мнение на эту наболевшую и злободневную тему, а также поделюсь с вами в качестве бонуса списком полезных материалов, которые собирались по мотивам всех предыдущих выпусков Drupal-дайджеста, и которые, надеюсь, вам помогут.
Я думаю, что мало кто будет спорить на тему того, что восьмерка очевидно более сложная система нежели семерка. И это неудивительно, если вспомнить, что одной из архитектурных задач изначально являлась преемственность современных РHP-практик в то время, в виду желания угодить тем людям, которые жаловались на то, что Drupal — это каменный век и вообще.
В этом плане, конечно, новая версия системы — это несомненно шаг вперед к другим enterprise-решениям, но явно не прорыв. Порог вхождения в Drupal 8 настолько больший по сравнению с плюсами, которые даёт система, что мне абсолютно понятна лень людей в изучении восьмерки.
Над новой версией была проделана просто титаническая работа, которая могла бы быть закончена гораздо раньше при правильно выбранном релиз-менеджменте, а также экономии усилий контрибьюторов при более точном позиционировании системы: или это должна была система для сайтопостроителей и “кликеров”, или enterprise-система управления содержимым с гибкой версионностью, наследованием, процессами и бесконечной возможностью для расширения. Хотели усидеть на всех стульях сразу и в итоге получили долгий релиз из-за гигантской регрессии, отставание от конкурентов и некоторый функционал, который непонятно кому на самом деле нужен.
Можно самокритично отметить, что это так легко, конечно рассуждать, смотря за процессами по большей части со стороны, и являясь на 90% лишь её потребителем. А где я раньше был? Ну да, на самом деле!
Но не стоит, наверное, здесь винить сообщество: для большинства людей которого Друпал является лишь инструментом. Вся система является настолько огромной, что уследить за текущим её состоянием для внятного контрибьюта практически нереально без посвящения её значительной части своей жизни буквально в еженедельном режиме, если не ежедневном. Я не говорю про багфиксы, тестирование и документацию, конечно. Лично я с трудом представляю, как это всё совмещать с работой в полный рабочий день.
Но ведь нашлись герои, которые всё это вынесли на своих плечах и 19-го ноября нам всем сделали подарок. И знаете, по-хорошему, дарёному коню в зубы не смотрят.
Просто задумайтесь о том, что сделает клиент через год или более того при выборе одного из двух подрядчиков, когда один будет предлагать делать сайт только на семерке, а другой — на обеих версиях.
Но хватит философствовать! Давайте о конкретном. Ниже, как я и обещал, находится сгруппированный список материалов для изучения системы. Очень надеюсь, что он вам поможет разобраться, что к чему. Уж поверьте: от того, что вы изучите Drupal 8, хуже не будет.
В данной статье я выскажу своё мнение на эту наболевшую и злободневную тему, а также поделюсь с вами в качестве бонуса списком полезных материалов, которые собирались по мотивам всех предыдущих выпусков Drupal-дайджеста, и которые, надеюсь, вам помогут.
Я думаю, что мало кто будет спорить на тему того, что восьмерка очевидно более сложная система нежели семерка. И это неудивительно, если вспомнить, что одной из архитектурных задач изначально являлась преемственность современных РHP-практик в то время, в виду желания угодить тем людям, которые жаловались на то, что Drupal — это каменный век и вообще.
В этом плане, конечно, новая версия системы — это несомненно шаг вперед к другим enterprise-решениям, но явно не прорыв. Порог вхождения в Drupal 8 настолько больший по сравнению с плюсами, которые даёт система, что мне абсолютно понятна лень людей в изучении восьмерки.
Над новой версией была проделана просто титаническая работа, которая могла бы быть закончена гораздо раньше при правильно выбранном релиз-менеджменте, а также экономии усилий контрибьюторов при более точном позиционировании системы: или это должна была система для сайтопостроителей и “кликеров”, или enterprise-система управления содержимым с гибкой версионностью, наследованием, процессами и бесконечной возможностью для расширения. Хотели усидеть на всех стульях сразу и в итоге получили долгий релиз из-за гигантской регрессии, отставание от конкурентов и некоторый функционал, который непонятно кому на самом деле нужен.
Можно самокритично отметить, что это так легко, конечно рассуждать, смотря за процессами по большей части со стороны, и являясь на 90% лишь её потребителем. А где я раньше был? Ну да, на самом деле!
Но не стоит, наверное, здесь винить сообщество: для большинства людей которого Друпал является лишь инструментом. Вся система является настолько огромной, что уследить за текущим её состоянием для внятного контрибьюта практически нереально без посвящения её значительной части своей жизни буквально в еженедельном режиме, если не ежедневном. Я не говорю про багфиксы, тестирование и документацию, конечно. Лично я с трудом представляю, как это всё совмещать с работой в полный рабочий день.
Но ведь нашлись герои, которые всё это вынесли на своих плечах и 19-го ноября нам всем сделали подарок. И знаете, по-хорошему, дарёному коню в зубы не смотрят.
Просто задумайтесь о том, что сделает клиент через год или более того при выборе одного из двух подрядчиков, когда один будет предлагать делать сайт только на семерке, а другой — на обеих версиях.
Но хватит философствовать! Давайте о конкретном. Ниже, как я и обещал, находится сгруппированный список материалов для изучения системы. Очень надеюсь, что он вам поможет разобраться, что к чему. Уж поверьте: от того, что вы изучите Drupal 8, хуже не будет.
Введение:
- Drupal 8: The Crash Course
- Altering, Extending, and Enhancing Drupal 8
- Drupal 8 Overview Slideshow
- Drupal 8 Kickstart for Developers
Комплексные обучающие материалы и книги:
- Programmer’s Guide to Drupal, 2nd Edition, book
- The Drupal 8 Beginner Class
- Building modules with Drupal 8
- Free Drupal 8 Tutorials – An Exhaustive List
- The Ultimate Guide
Первый модуль:
- Create your first Drupal 8 module
- DRUPAL 8 IN 2 STEPS
- Your First Drupal 8 Module
- Drupal Module Upgrader
Работа с меню:
- What Happened to Hook_Menu in Drupal 8?
- Build a Drupal 8 Module: Routing, Controllers and Menu Links
- A Peek at Traits in Drupal 8
Работа с формами:
- Changes in the Form API in Drupal 8
- How to Build Multi-step Forms in Drupal 8
- Drupal 8: Ajax in Forms
Инструменты:
- Composer Tools and Frameworks for Drupal
- Configure PHPStorm to debug Drupal 8
- Touring Drupal
- Learning Drupal 8 from Boilerplate Code
- Upgrade Status
- Install — Drush docs
- Goodbye Drush Make, Hello Composer!
- Drush in the Composer Era
- Drupal 8 tip of the day: replace hook_drush_command() by a YAML file
- How to make custom commands in Drupal Console
Построение сайтов:
- Creating a custom Views field in Drupal 8
- Coding with Rules for Drupal 8
- Building layouts from 7 to 8: Coding vs Clicking
- 3 Secret Features in Drupal 8
- Goodbye Webform? Contact Forms Are In the Drupal 8 Core
- Build a Blog in Drupal 8: Content types and Fields
- Views for Beginners in Drupal 8
Темизация и рендеринг:
- Twig: Введение
- Drupal 8 Theme System: hook_theme() to Twig template
- Drupal 8 Theming Fundamentals, Part 1
- The Drupal 8 Theming guide
- DrupalCon Barcelona 2015: Drupal 8 theming — YouTube
- Classy Theming
- Drupal 8 Theming Revamped — Updates and New Features
- Gettin’ Twiggy With It
- Drupal 8: core javascript files for anonymous users
- Adding new HTML tags in the in Drupal 8
- Port your Drupal 7 Theme to Drupal 8
- Drupal 8’s render pipeline
- Creating a Drupal 8 theme with Node.js, LibSass, Gulp & BrowserSync by Andrei Zvonkov
- Using the Javascript Module Pattern, and more modern JS practices, with Drupal
- Responsive Images in Drupal 8
Плагины и блоки:
- Building a Drupal 8 Module: Blocks and Forms
- A Look Inside Drupal 8’s Block Plugin API
- An Overview of the Drupal 8 Plugin System
- Unravelling the Drupal 8 Plugin System
- Drupal 8 Plugin Deep Dive
- The Drupal 8 plugin system — part 4
Сущности и конфигурация:
- Entity Storage, the Drupal 8 Way
- Introducing Drupal 8’s Entity Validation API
- How to create custom entities with bundle support in Drupal 8
- The Drupal 8 version of EntityFieldQuery
- Configuration Workflow
- Overview of Configuration (vs. other types of information)
- Drupal 8 Configuration Management — Solving the Configuration Conundrum
- The Drupal 8 configuration schema cheat sheet
- Drupal 8 Configuration Management with Features
- Introducing Drupal 8's Entity Validation API
Мультисайтинг
Логгирование:
Интернационализация:
Запросы к базе данных:
Поля:
- Creating pseudo-fields in Drupal 8
- Drupal 8: Creating a custom field — Part 1: Field type
- Field API D8 — Собственные форматтеры и виджеты
- Creating Custom Field Formatters in Drupal 8
- Drupal 8 Core, Now with More Fields
- Programmatically attach files to a node in Drupal 8
Миграция содержимого:
- Seamless Migration to Drupal 8: Make it Yours
- Altering Data in a Drupal 8 Migration, Step-by-Step
- Transforming Data in a Drupal 8 Migration, Step-by-Step
- Adventures in Porting a D7 Form Module to Drupal 8
- We need revisions and CRAP everywhere in core
Сервисный слой:
- Using REST Export With Views In Drupal 8
- How to Create a REST API Export in Drupal 8
- Introduction to GraphQL
Пользователи:
Архитектура:
- Drupal 8 Hooks and the Symfony Event Dispatcher
- To Alter or Dispatch: Drupal 8 Events versus Alter Hooks
- Basic structure of Drupal 8: Components, subsystems & core modules
- 2014 greatest hits — 30 Awesome Drupal 8 API Functions you Should Already Know — Fredric Mitchell
- Responding to Events in Drupal 8
- Dependency injection in Drupal 8, an introduction
- Annotations in Drupal 8
- From Request to Response: A Journey into Drupal 8 Internals
- D8FTW: Customizing your back-end
- D8FTW: Storing data in Drupal 8
- Overriding Drupal 8 services
- Decoupling Drupal modules into PHP libraries
andypost
А также первый видео курс для «кликеров» www.youtube.com/playlist?list=PLtaXuX0nEZk9MKY_ClWcPkGtOEGyLTyCO
Полагаю, он будет полезен для всех остальных тоже, ибо показывает основные концепции которые залоны в 8ку и небольшие отличия от 7ки
kalabro
Спасибо, Андрей. Ссылка на курс есть в свежем дайджесте, кстати :)