First, a brief history about Drupal
Dries Buytaert created Drupal in 2000 as a small news site with a web board for he and his friends to share information together. This was 18 years ago.
Drupal 1.0 was released on 15.01.2001 and was a fully-featured management/discussion engine suitable for a news-driven community or portal site.
Drupal 2.0 was released on 15.03.2001 and introduced some of the key features of Drupal like modules, nodes, watchdog and multilingual support.
Drupal 3.0 was released 15.09.2001 and everything began to be based on nodes. It introduced the framework for content types. Decision was taken to focus Drupal on the concept of 'nodes' rather than 'pages'. It wasn't until 10 years later with the rise of mobile that we started to see the web revolve less and less around pages.
Drupal 4.0 was released 15.06.2001 and by now Drupal was really a platform for any type of web application as users can easily extend it and modify it to better fit their needs. Close to 100 major sites was running Drupal. With developers from all parts of Europe and U.S., Drupal became an international open source project.
Drupal 4.2 introduced clean urls, support for Microsoft SQL server, Node API and Xtemplate engine. Interest in Drupal got a significant boost in summer of 2003 when it helped build 'DeanSpace' for Howard Dean, one of the 2004 U.S. presidential election candidates.
Drupal 4.3 introduced URL alias support through new path.module, breadcrumbs, database prefixing and mass node operations.
Drupal 4.4 added a file API and first e-commmerce contributed module.
First Drupal conference (the popular DrupalCon) was held in Belgium in 2005.
NASA adopted Drupal 4.6 as 4.6 introduced multi-site feature, personal contact forms, an image API.
At Drupal 4.7 30+ servicing firms were employing 100+ Drupal professionals and there were 300+ contrib modules and 55,000+ Drupal powered sites. Later in 2006 Views module was born! The forms API was refactored to make it possible to alter, extend or theme any form in Drupal! Modules can now install database tables, prior to now if a module needed to install database tables it would come with sql dump and instructions on how to manually import it!
PHPTemplate replaced Xtemplate engine; theme-specific multiple block regions was added.
Drupal 5.0 was released 15.01.2007 and it introduced a web-based installer, custom content types, support for Drupal distributions, Garland as the new default theme, CSS preprocessor.
Drupal 6 was released 13.02.2008. Menu system was re-written and security improved with update module to notify about new releases and security Announcements email list.
In October 2009 the White House started using Drupal.
Drupal 7 was released 15.01.2011. Drupal is now used for building any kind of website from blogs and microsites to enterprise level systems. There was 11000+ contrib modules, 600+ themes and 200+ distributions. Everything became an entity (content types, taxonomy, users and custom entity types). Now it's all about web apps.
On 19th November 2015, Drupal 8 was released.
Now to the topic of the blog post.
The New Things in Drupal 8
Drupal 8 is the newest version of the Drupal CMS; it is very modern and sophisticated. Here are the new features added in the new Drupal:
New Theme Engine
Drupal 8 uses a new theming engine called Twig, which is PHP-based, flexible, fast, and secure. Twig syntax is more human-readable and Twig templates are less complex than PHP templates or others while being more secure. Twig marks a new era when it comes to Drupal templating engines. It works by compiling templates down to plain optimized PHP code and has a sandbox mode to evaluate untrusted template code. It was created by Fabian Potencier, the creator of the Symfony framework and is released under the BSD license. Aside from being used in Drupal 8, it is also used in projects like Symfony, eZ Publish, phpBB, OroCRM, and more. Earlier versions of Drupal used the PHPTemplate engine down to Drupal 4.
Drupal 8 design is mobile first so all themes and admin interfaces are mobile-friendly.
Drupal 8 builds natively with HTML 5 and aligns with the latest PHP 7 standards like PSR-4, namespaces, and traits, and uses top notch, outstanding external libraries like Composer, PHPUnit, Guzzle, Zend Feed Component, Assetic to name a few. Drupal 8 also adopts modern, object-oriented code that's the order of the day. Instead of using only the hook-oriented paradigm and the procedural programming, Drupal with version 8 chose a way of involving popular technologies and applying object-oriented methodologies. Changes affected almost all the main parts — from the core functionality to the template engine. D8 adopts lots of Symfony components including: Console, DependencyInjection, EventDispatcher, HttpFoundation, HttpKernel, Polyfill Iconv, Process, Routing, Serializer, Translation, Validator and Yaml. Adding the Symfony components to Drupal 8 had the biggest impact on its development. Drupal became even more flexible than it was before. Developers got a great opportunity to follow the modern technologies and use the object-oriented programming style. This opens up Drupal to the wider PHP community as Drupal developers will be working with skills that are usable in the wider PHP community outside Drupal and more non-Drupalers can now easily come in to work with Drupal. The PHP community has been working to set agreed PHP Standards Recommendations (PSRs) of how to write PHP code. This is to make PHP projects write PHP 'the PHP Way' as against each project working in silos and writing PHP 'their Own Way' and splitting energies re-inventing the wheel. Drupal from version 8 aligns with PHP code 'the PHP Way' 100%.
Easy Content Authoring
New Drupal 8 features bring unprecedented power into the hands of the Content Editor, with WYSIWYG editor CKEditor now bundled with the core. However, the most touted improvement remains the in-place editing capability that Drupal 8 will afford users, a result of the Spark Initiative.
Site and content creators or editors can edit text on any page without having to switch to the full edit form. Drafts are now much easier to create, and web security is now better implemented as a result.
This means that for you the website owner, you can add new content and information to your website very easy all by yourself.
There's something great about seeing something that needs changing and having the ease of access to change it—directly and quickly. Now Quick Edit is a backport of the Drupal 8 in-place editing for Fields. So if you're logged into Drupal content is in front of you, edit the text directly for quick fixes and additions from the front-end.
Better Support For Accessibility
Drupal 8 has excellent support for industry standard accessibility technologies, like WAI-ARIA. ARIA Live Announcements API and TabManager are significant improvements in Drupal 8, which provide control for rich Internet applications. Bells and whistles like better font sizes, tweaked color contrasts, jQuery UI’s autocomplete, and modal dialogs go a long way towards making Drupal 8 a breeze to use.
Web Accessibility is all about making websites available and usable to people with disabilities.
Web Services Built-In
Drupal 8 now makes it possible to use itself as a data source, and output content as JSON or XML. You can even post data back to Drupal 8 from the front end. Hypertext Application Language (HAL) is implemented in Drupal 8 and makes exploitation of web service capabilities less painful.
This means that information on your website can be consumed by not just human beings using web browsers but the information is available in formats that can be consumed by other programmes, apps and devices. This makes for cross-platform and cross-device interroperability.
BigPipe in Core
BigPipe technique reduces latency in page loads and thus improves user experience; it makes pages load in sections by first serving the page structures and cached static content in the sections while the browser waits for dynamic content from the web server. So instead of the traditional all-or-nothing page load the user gets to see something first while other elements follow.
The BigPipe technique was invented at Facebook.
Layout Builder and JSON:API in 8.7.0 core
Drupal's Layout Builder became stable in Drupal 8.7.0 released in March, 2019. It provides a powerful, accessible, mobile-friendly page building tool that is fully compatible with revisions, workflows, and in-context previews. The interface allows drag-and-drop management of your content blocks. It additionally supports keyboard controls and toggling the content preview on and off to give the content editor complete control of their experience while building their layouts.
It enables a drag-and-drop editing experience, which means no custom code or theming is required in order to lay out pages. But Drupal goes far beyond similar offerings by competitors, empowering content editors with increased power and flexibility: enabling management of templated layouts, support for powerful overrides based on content-type, and support for one-off landing pages.
Media Library and Native Composer support in 8.8.0 core
The Media Library module became stable in 8.8.0 released 4 December, 2019, it allows easy reuse of images, documents, videos, and other assets across the site. It is integrated into content forms and seamlessly fits into CKEditor. You can upload media right from the library and even reuse a combination of uploaded and existing media.
Drupal 8.8.0 is the first release to include native Composer support without reliance on third-party projects to set up Drupal with its dependencies. New sites can be created using a one-line command.