Skip to main content

Drupal 8 won't kill your kittens

Lately there's been some scuttlebutt and FUD around about the architectural changes Drupal 8 brings.

So I presented at the Drupal Melbourne meetup (remotely) a presentation titled 'Drupal 8 won't kill your kittens' in an attempt to dispel some of the rumours.

So here's the summary of my main points along with the slides and audio.

by Lee Rowlands /

The background

Some key Drupal contributers have asked to be removed from Drupal 8's MAINTAINERS.txt file.

Does this mean we're losing all our talent?

I argue no, in fact we've gained a huge number of new core maintainers as part of the Drupal 8 cycle. 

People come and go as they move to different stages of their lives and managing this progression is as important to an open source community as it is to an elite sporting team.

The DX wins in Drupal 8

The entity and field API changes

Every time I have to write $node->field_foo[LANGUAGE_NONE][0]['value'] in Drupal 7 I pine for Drupal 8. $node->field_foo->value. It is so much better. First class objects with defined interfaces will always be a better developer experience, particularly for those with an IDE, than massive arbitrary arrays.

The plugin system

Anyone who maintains a module that contains more than one block definition will agree that using four hooks and a massive switch($delta) statement soon gets unweildly. Plugins mean everything is in the one file. Neatly packaged up. Away from the rest of your module. Want a new block? Copy an existing one, edit. Done. Meta is defined in the same place. Then there's base classes, interfaces and inheritance. Again objects with defined interfaces are always a better experience than an arbritrary array.

The routing system

This one is contentious. There is a learning curve here. But the things you learn will make you a better developer. And we need help to finalise core conversions. So if you want to get ahead of the Drupal 8 learning curve, drop into core mentoring hours and pitch in on those conversions whilst getting free Drupal 8 training from the experts. The benefits of a modern routing system will set Drupal up as the go-to platform for powering not only web-pages but also mobile applications. The possibilities are endless.

Drupal 9

Yes Drupal 8 isn't perfect. We still have a hybrid of OO and procedural code, but a three year release cycle isn't long enough to effectively re-write the whole code-base in an OO fashion. We'll continue towards this in Drupal 9 and in doing so undo some of the Drupalisms that have made developing with and contributing to Drupal a barrier for developers from other frameworks and languages.

The slides and audio

The slides are here and the audio is here. Unfortunately the video doesn't include the screen-share of the slides, put that down to unfamiliarity on my part with Google Hangouts on air.

 

Posted by Lee Rowlands
Senior Drupal Developer

Dated

Comments

Comment by artur

Dated

45 minutes of staring at the staring ;-)

Comment by Anonymous

Dated

Drupal 9 section+++

Comment by Lee Rowlands

Dated

Yeah I didn't realise hangouts on air was recording what I saw, not what they saw. Lessons learned for next time. I recommend listening to the audio and not watching the video. I will look at taking an audio grab.

Comment by Gaelan

Dated

Another problem with array-based API's is that when I wanted to figure you how to access node fields, I DPM'd the node and figured out this:
$value = $node -> field_foo['und']['0']['value'];
If I get a real object, I'm more likely to go to api.d.o.

Pagination

Add new comment

Restricted HTML

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <h2> <h3> <h4> <h5> <h6>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Not sure where to start? Try typing "hello" or "help" if you get stuck.