First Impressions of Drupal 8

Major versions of Drupal are not compatible with previous versions. This may sound like a bad thing, but it gives the developers a chance to clean-house without being hindered by the requirement to maintain backwards compatibility. Drupal 8 brings some enhancements to the front end and big changes under the hood.

Editing

Content managers familiar with Drupal 7, will quickly feel at home in Drupal 8. The core concepts (nodes, blocks, views, modules, themes, etc.) remain the same, as well as the basic organization of the administration pages. Gone is the administration overlay, which was always slow to load and often conflicted with the site theme. The new administration theme feels snappier (still room for improvment) and is responsive, making updates on a mobile device a practical possibility.

Rich text editing (with all the good and bad it brings) is now part of the core. Also new is in-place editing, allowing content managers to quickly edit content on the page. This is a great addition, despite the sometimes awkward interface.

Modules

As mentioned earlier, major versions of Drupal are not compatible with previous versions. This means that modules developed for Drupal 7 will not work in Drupal 8. Drupal has drastically changed how most types of modules are developed, meaning it may be some time before your favourite contrib module is available for Drupal 8. If you're an intermediate to advanced developer, you may want to roll-up your sleaves and write your own.

Several popular Drupal 7 modules have become part of the Drupal 8 core. This includes CKEditor, Multilingual and Views. Unfortunately the interface for creating views remains as confusing as in Drupal 7.

Themes

The templating engine in Drupal 8 has changed from PHPTemplate (.tpl.php files) to TWIG (.html.twig files). This makes it possible for a front-end developer to create a comprehensive theme without any PHP, only a basic understanding of TWIG and template naming conventions. Much of the bloated mark-up Drupal has been notorious for has been removed from the default template files.

A useful tip is to add to the following to your sites/default/services.yml file. This will insert comments into your mark-up explaining which template file was used to generate each portion of mark-up.

parameters:
  twig.config:
    debug: true

Conclusion

If you're a developer starting a new project today, use Drupal 8. Just be prepared to write a few more custom modules to do what your favourite contrib modules did before.