Drupal 8 review from an experienced Drupal developer
Pre
- Build 1st high-profile Drupal 8 website early 2016
- Worked on lots Drupal 7 and Drupal 6 sites
- Contributed to rules-8.x
Configuration management works
All configuration is in-code now.
A total break with earlier Drupal versions, where configuration was scattered over database-tables and code.
Drupal 8 has command-line tools (drush and drupal-cli) that can be used perfectly well in automated deployment workflows (exporting and importing configurations).
Examples of configurations: Data model, Roles & Permissions, Panels and Views
The popular Features-module is not needed anymore for a typical DTAP-workflow.
It is a big shift from the “Features-module”. Biggest I’ll guess is how fast our “drush fra -y && drush rr --fire-bazooka” memories will vanish.
Here you can read more about Drupal core “Configuration Management”.
‘this-Gen’ DX-improvements
The autoloader, Composer, Symfony helps me so much. You do need PHPStorm for module development.
Although Composer is not fully integrated in Drupal 8, you can quite easy extend a Drupal website with Composer repositories. I find this particularly helpful when creating custom modules that leverage Compose packages. It is now simple to pull them (with composer.json) and, more importantly, you can leverage that code from other module too. This is easier than the Libraries module.
The code is Object-Oriented now. Hooks and the theme ‘template’ file are still there to be (mis-)used, but you really don’t have to.
Hooks are dead, use symfony event-subscriptions. Klausi
The new codebase is intimidating. To get a grip on it, I would suggest to dive-in to some ‘best practise’ modules. Examples: telephone (core), big_pipe (core), rules (contrib), search_api (contrib) and layout_plugin (contrib). Those modules leverage some new fundamentals that Drupal 8 exposes.
Which version to choose?
I like Drupal 8 and prefer it over Drupal 7.
There is no easy answer which is the wisest choice, but expect more backed-development for Drupal 8 sites. Mostly due to the newer code-base.
In the developer-community Drupal 8 has a lot of traction/momentum, so I expect it will catch up with Drupal 7 this year.
As of April 2016 not so much contributed modules are ported. If you need one of those contrib modules (say Commerce) I would advocate to be very critical in your project-planning if you choose for Drupal 8 (maybe with a delay) or still go for Drupal 7.
Do not expect that those contrib modules are or will be in a stable state within a couple of months. It means that you must be careful at this point what modules you select in your Drupal 8 project.
Conclusion
Drupal 8 is better than Drupal 7. Data-modelling, performance, multi-language. It feels so much more robust this day. More functionality is in-core and fully tested.
In a conceptual way, Drupal 8 is not so different from Drupal 7. The Administration-UI’s are the same and you probably will also use the same modules for a project. Sites builders will feel really comfortable.
All-in-all I am getting excited about Drupal 8!