Last month was an interesting one for the Ashday office, when for one week we packed up our computers and made the journey to New Orleans for DrupalCon 2016.
This was only my second DrupalCon - having also gone to Los Angeles in 2015 - and it far exceeded my already-high expectations set by last year's. I spent most of my time at the convention center going to sessions on more technical aspects of Drupal and, especially, its newest version. Last year, Drupal 8 was still months away from release, so sessions were split between Drupal 7 and talking about the still-in-beta Drupal 8. With the new version fully released, it was nice to focus on it and what it allows us, as a developer team, to do which may have been difficult or almost impossible before. I'd like to share a few of my favorite sessions, which will be particularly interesting to Drupal developers of any experience.
At the session on Typed Drupal, I got an overview of one of Drupal 8's less-obvious benefits: That it can take advantage of the new PHP 7 language. In addition to getting a great speed-boost by using the newest PHP version, we'll be able to make the system report potential errors faster. Rather than needing to delve into the code to find that it thinks a bit of text is actually a number, the site can be coded to automatically notice the problem and let us know.
At Drupal 8, where did the code go?, I got to see how some of Drupal's fundamental code structure has changed since Drupal 7, and how to update existing code to use it. This session focused on blocks - bits of content which can appear on one or many pages, such as a menu of links or a login form - and how they now use the plugin system which is brand-new to Drupal 8. I found this session quite a bit more interesting than I'd expected. I was familiar with both Drupal 7's method of creating blocks and Drupal 8's, but I've never had to convert from one to the other. What I found most surprising was that, despite parts of the code looking rather different, the actual conversion isn't as difficult or extensive as it initially would appear - which is definitely good to know, since eventually any sites on Drupal 7 will need to be updated.
Every six months, Drupal 8 is getting a significant update which can include new built-in features - a nice departure from Drupal 7, where major features only came in the form of separate modules. 8.1 included several such features, but BigPipe is probably the most significant for anyone already using Drupal 8. BigPipe is a tool used by many large websites such as Facebook to make their websites load fast. Drupal has always included ways to improve the performance of a website, but they weren't too robust until Drupal 8 and its advanced caching. The full benefit of Drupal 8's caching comes from BigPipe, which allows websites to load only the essential parts of a page initially, waiting to load peripheral elements (such as a login form off to the side of the main content) until the important parts are already shown. Although the overall page load time might not change, the important parts get shown as soon as possible.
I was very much looking forward to the final coding and development session of the conference, Demystifying AJAX Callback Commands in Drupal 8, and it did not disappoint. Ajax is a technology commonly used on websites to communicate between the server the the visitor's web browser. It's a technology we often use on our sites, but we had never investigated Drupal's built-in Ajax technologies, instead writing our own solutions. Although the idea of Ajax callback commands didn't change much between Drupal 7 and Drupal 8, I found it a fascinating topic nonetheless. Basically, Ajax normally just allows the server to give information to the visitor's browser. With Drupal's callback commands, the server can also give the browser instructions about what to do with that information or how to change the page.
Although these were just a few of the sessions I went to, they definitely left a good impression. I'm looking forward to even more Drupal 8 awesomeness at next year's DrupalCon Baltimore.