As discussed recently in one of our previous blog posts, Content Management Systems (CMS) are a major technology in the web development landscape. In this segment, Drupal is - by far - the most flexible CMS available today: it is Open Source, runs some of the biggest and most important sites on the web and has a huge community of developers who support thousands of contributed modules that extend its capabilities.
Drupal is considered to be a CMS with framework-esque tendencies (also called a Content Management Framework - CMF), meaning that its flexibility is close to that of Web Application Frameworks (WAFs such as Ruby on Rails, Django…). From complex corporate websites, integrated web and eCommerce platforms, to client / manager back offices involving complex workflows, Drupal is sure to match the requirements of a wide variety of web projects.
Now, Drupal is currently undergoing a major revolution. After 4 years of intensive development, a new version - Drupal 8 - is almost here to replace the current (and slightly aging) version, Drupal 7.
So let’s take a closer look at what Drupal 8 is going to change in web development and its benefits for businesses.
Drupal 8 backend is powered by Symfony2
At the heart of Drupal 8 is now Symfony2, a stable PHP Web Application Frameworks, that saves the Drupal community from reinventing the wheel and enables developers to concentrate on conceiving Drupal-specific functionalities. For businesses, Symfony2 equals to a future-proof technology providing a much higher level of flexibility, interoperability and functionalities.
Drupal 8 is not only supporting mobile, it’s designed for mobile usage first. For instance, the administration interface is now entirely responsive and can be used from any mobile device. Built-in themes and tables are also fully smartphone and tablet ready. In addition to that, Drupal 8 is now including HTML5 markup to offer fully functional and compatible native inputs on mobile for dates, emails, phone numbers, etc… This means faster development time for web application requiring mobile admin interfaces and a better mobile integration out-of-the-box.
New theming engine
Drupal 8 features a new theming engine named Twig. Twig makes designing beautiful and functional Drupal sites faster than before, due to its greater separation between logic and display, a tight integration with Symfony’s class-based approach to programming, its easier syntax and template inheritance capability. Twig also brings numerous benefits in terms of security and flexibility, and will empower developers with many pre-defined tools. Again, read better and faster web design with Drupal 8.
Better interoperability with 3rd party systems
Out-of-the-box, Drupal 8 exposes built-in RESTful Web Services able to push data in and out, enabling the development of mobile apps communicating with Drupal, and its integration with 3rd party systems (blogs, CRMs, updates to iPhones and Android phones, etc…). The extra development steps required to connect the prior versions of Drupal with 3rd party applications, which used to take a lot of time and could follow different approaches, are now right in-the-box, standardized. Drupal 8 is now a fully communicating platform.
Better compliance with industry standards
Drupal 8 features much more modern, object-oriented code (thanks to Symfony2) and embraces the latest PHP standards? (e.g. PSR-4, PSR-3, namespaces, traits...). Additionally, Drupal 8 is no longer isolated from the rest of web technologies’ world: it now leverages many “best of breed” industry standard alternatives from beyond the Drupal ecosystem (e.g. Composer, PHPUnit, Guzzle, Zend Feed Component, Assetic and more). For businesses, this means the promise of a future-proof solution.
Other features enabling faster and better development
Drupal 8 brings a series of other key features that make the development of web projects faster than before:
- More flexible page customization: without going into too many technical details, at its core Drupal 8 is now integrating Views, an extremely popular add-on module that allows developers to create and organize all kind of content types on web pages. This means that it is now possible to better customize front and admin pages.
- Enhanced content structure: Drupal 8 extends the content structuring system by including more fields types linkable to more types of content. This means you can now build content that wasn’t possible before: richer contact forms, product-based comments, etc...
- Built-in multilingual capabilities: the language translation systems have been completely rewritten making multilingual websites much easier to build - compared to some of the pain that developers have experienced building multilingual sites on previous Drupal versions. The admin management interface can be displayed in multiple languages right from the get-go. With Drupal 8, it is also possible to display content on a page based on the displayed language.
- Smarter configuration management: Drupal 8 now uses a file system-based configuration management system, which greatly simplifies configuration changes from local development to production server and enable developers to synchronize modifications easily and focus on what really matters for the success of web projects.
Faster development or more features for your money
So… by the end of those 4 long years of development, was this new version worth waiting? Well, Drupal 8 is a major overhaul of the previous versions. No doubt about it. Drupal 8 is coming with numerous changes: a completely revamped software architecture with a better codebase, a mobile-first interface, a powerful theming engine, and a variety of other features that makes development of complex web applications or large websites easier than before.
This being said, Drupal 8 core simply cannot meet all possible use cases so some features and types of functionality that will always require additional contributed modules or custom code. The key, as always, is to choose contributed modules wisely to prevent conflicts and ensure maintainability.
However, when businesses want to build a sizable) web application or a large website with plenty of integrations, a lot is already there in Drupal 8 so that developers use less time to fix problems and figure things out. This translates for businesses in projects being less expensive to develop or, seeing that from another angle, web projects with more features for the same budget.
Drupal 8 will undoubtedly make a huge difference in web development for the next years to come.