Drupal 8 is coming! No really, it is this time. As of today there are four critical tasks, 21 critical bugs and five plans remaining in 8.x. Once all of those numbers go to 0, assuming no more criticals are filed or reclassified, a Drupal 8 release candidate will become available. At that time security issues with Drupal 8 will no longer be public in the issue queues, and site builders and developers alike can be confident that Drupal 8 is ready to start implementing in production.
So, what does this mean for the Drupal project you’re working on now (or getting ready to work on soon)? If your release date is 3 – 6 months out and you can get by without a bunch of contrib modules, now’s a good time to start looking at whether the site or web application could be implemented using Drupal 8. If you need to release before then, I’d recommend holding off on Drupal 8.
Drupal 8 brings a number of new advantages with it. If you haven’t heard yet, Drupal is now Object Oriented, built on top of the Symfony Framework. This means a number of procedural hooks have been moved to object oriented classes. Also, CMI (Config Management Initiative) brings the ability to define module default configurations through simplified YAML syntax.
One of my favorite new features, which elevates Drupal from your average content management system (CMS) to a fully mobile-ready service handler, is the Web Services and Context Core Initiative (WSCCI). Built on top of Symfony responses, Drupal 8 can now natively handle non-HTML responses, such as JSON. Everything returned to the user in Drupal 8 is now a response. In addition to the ones provided by Symfony and the Zend Framework, Drupal adds some really cool response types you can use in your code, such as AjaxResponse and viewAjaxResponse (used for Ajax responses specific to Views).
Speaking of Views, it’s now part of core! That means a lot of simple Drupal sites that only had contrib modules for Views can run Views out of the box! Based on historical data of the Drupal 7 release, most adoption trailed behind Views being available, which is no longer the case with Drupal 8.
Finally, Entities with full CRUD (Create, Read, Update and Delete) are not only available in core, but also are used as the basic building block of every piece of content in Drupal. Everything from a Node to a taxonomy term is now an Entity, and you have the tools with Drupal 8 to build your own custom Entities.
If you’re more interested in creating themes for Drupal, there’s much to rejoice about Drupal 8 as well. Drupal 8 templates are now using twig, which means themers for Drupal 8 can do simple logic statements without having to write templates and hooks in PHP.
This just scratches the surface of all the new things being added to Drupal 8. If you want to know more, check out http://www.drupal.org/8. This was years in the making and involved a lot of people in the community who volunteered their time and effort. My thanks goes out to all those who helped, whether it was writing documentation, reviewing patches, or contributing as part of one of the major Drupal 8 initiatives. If you’re interested in helping to make Drupal 8 better, we’re always looking for new people to join us. The community helps new folks get started with contribution on Wednesdays at 16:00 UTC. You probably won’t want to jump in on fixing one of those criticals I mentioned above, but working on major and minor bugs is valuable to the community as well.
Finally, I want to wrap up with what future releases for Drupal are going to look like. The Drupal Community is looking at switching to a 6-month minor release cycle with only releases that break backwards compatibility being classified as major. Prior to a major release, a Long Term Support (LTS) release will be made available to give developers plenty of time to update their code to support the new features being added. Even major releases are planned to take less than a year from code freeze. This is very exciting and means that things that don’t break compatibility can be added to improve Drupal 8 much faster than they have in the past.
If you haven’t looked at Drupal 8 yet, it’s getting close enough to release that you might want to consider doing so. Drupal 8 is a huge advancement from Drupal 7, and in my opinion it’s way ahead of where competing CMSs and platforms are right now. Having the power of Symfony at its core with all the Entities we’ve come to love with Drupal 7 makes Drupal 8 the best choice for building your next website or application.