Difference Between Drupal 7 and Drupal 8

Difference Between Drupal 7 and Drupal 8 - eDesk HUB

29Jun
2017

Introduction

Drupal has always been the most preferred content management tool to create attractive websites by developers. It is Drupal’s simple yet powerful framework that has made it popular among developers. Drupal is preferred by companies as it is open source software which means there is no cost incurred to procure the software. Drupal is a powerful tool to create websites since it is robust, flexible, secure, scalable and easy to use. Developers must assemble the right modules as per their requirement and they are good to go. Right from 2001 till 2017, Drupal has evolved a lot. Drupal’s mort popular major releases in recent times are Drupal 7 which was released in January 5, 2011 and Drupal 8 which was released in October 7 2015. Drupal Web development has been revolutionized after Drupal 8 was released with a lot of new features. Even after the release of Drupal 8 which has a lot more enhanced features than Drupal 7, many of my colleagues who are working with Drupal still prefer version 7 over version 8. This made me think what could possibly be the reason for this? Every new major release promises better features than the previous ones. Then why do developers prefer the older version? So, let’s start our quest to find answers on which version of Drupal to choose - 7 or 8?

Drupal 7 Vs Drupal 8 – The Differences

Features

Drupal 7

Drupal 8

Type of

Content management software (CMS)

Content management software (CMS)

Cost

Free

Free

Released

Jan- 5th -11

Oct - 7th -15

Maturity

   
 

Older, matured with time, and has lots of modules, lots of documentation, and lots of tutorials.

Newer, less matured, and has less modules, less documentation, and less tutorials.

Output

XHTML markup by default

Semantic HTML5 markup by default

Front-end libraries

jQuery v2.x

jQuery v2.x, Modernizr, Underscore.js and Backbone.js.

SVG support

Supported browsers that did not support SVG (including IE8 and Android Browser 2.3)

Does not support browsers that do not support SVG (including IE8 and Android Browser 2.3)

Default Theme Engine

PHPTemplate

Introduces Twig

 

theme_* functions and PHP-based *.tpl.php files

*.html.twig templates ()

CSS and JavaScript aggregation

Less effective CSS and JavaScript aggregation, as compared to 8

Improved CSS and JavaScript aggregation.

Adding CSS or JS

drupal_add_css() and drupal_add_js() functions

Attaches JS/CSS assets in the #attached property of a render array using libraries

CSS Class Changes in Menu

.menu li.expanded

.menu-item-expanded

 

.menu li. Collapsed

.menu-item-collapsed

 

.menu li. Collapsed

.menu-item-collapsed

 

.menu.li.active-trail

.menu-tem-first-child

 

.meni.li.first

.menu-item-last-child

 

.meni.li.last

.menu-tem-leaf-removed

 

.menu.li.leaf

.menu-item- active-trail

CSS IDs

Contains more IDs than Drupal 8's CSS.

Contains fewer IDs than Drupal 7's CSS.

CSS File Structure

CSS (file) structure is not based on SMACSS & BEM.

CSS (file) structure is based on SMACSS & BEM.

CSS3 pseudo selectors

Used first/last/odd/even classes

uses CSS3 Pseudo Selectors

Core modules

Many preprocess functions and CSS files are included in core modules.

Replaces many preprocess functions and CSS files which were previously included in core modules by utilizing Classy, a core base theme that injects classes into markup, and includes corresponding CSS.

Breakpoint Media Queries

Does not use breakpoint media queries to control how the site looks on different devices.

Use break point media queries to control how the site looks on different devices

Views

Views is a contributed module

Views is added as one of the core module

CkEditor

Does not utilize CkEditor

CkEditor, a core module in Drupal 8, is a visual html editor used for editing web pages that brings common word processor features directly to web pages

Edits

Must go to edit page to make edits

Inline editor helps edit contents of a page without going to the edit page, instead just right click to edit.

Picture Module

Does not have Picture Module

Features Picture Module that automatically resize the images for different screens.

Symfony

Does not include Symfony framework

Uses Symfony framework and its MVC architecture which makes code easy to maintain, scale, and reuse.

OOP Concepts

Has less Object-Oriented Programming concepts

Comes with Object Oriented Programming concepts to the most part of the system

REST

Does not feature REST

Representational State Transfer (REST) allows interaction with other applications for creating, reading, updating and deleting resources.

New Email Field

Simple email field

Email Field automatically validates e-mail address and generates a ‘mailto:’ link when displayed.

New Telephone Field

Simple Telephone Field

Telephone Field generates a 'tel:' link when displayed for telephony apps like Skype and others

Reference: Drupal, Drupal 8, Drupal 7 vs 8, Zyxware

Modules

Drupal 7 has a lot of modules since it has evolved from 2011.these modules and themes have been tested for long time by the community and is powerful now. On the other hand, Drupal 8 has lesser modules.  But I am sure that Drupal 8 will replace Drupal 7 with time.

Change in Mark-up Language

Drupal 8 outputs HTML5 mark-up by default whereas Drupal 7 gives XHTML as output. Only Drupal 8 supports HTML5 which opens doors to cleaner and uncluttered code.

Front End Libraries

Drupal 7 had only jQuery v2.x in front end libraries. Besides jQuery v2.x, Drupal 8 includes more front-end libraries such as ModernizrUnderscore.js and Backbone.js. This is an added advantage to developers.

Changes in CSS and JavaScript

Drupal 8 has enhanced CSS and JavaScript aggregation compared to Drupal 7. If you were using Drupal 7 and wanted to add CSS or JS to a particular page, you would use the drupal_add_css() and drupal_add_js() functions, respectively. This is now replaced by Drupal 8 by attaching JS/CSS assets in the #attached property of a render array using libraries.

 

Drupal 8 contains lesser IDs than Drupal 7's CSS. Drupal 8 also uses SMACSS & BEM to structure and organize CSS and increase its code maintainability. Drupal 8's CSS uses CSS3 pseudo selectors which has replaced first/last/odd/even classes in Drupal 7. 

Multilingual Add-ons

Drupal 8 has excellent Multilingual Add-ons which are compatible with Google translator which is not present in Drupal 7. This minimizes the developers load to translate the text. The developers can make use of the inbuilt translator interface available with Drupal 8. Developers can make use of this to deliver improved multilingual and globalization support in their website.

Views:

“Views” is a contributed module in Drupal 7.  “Views” is now a part of core in Drupal 8 which helps in quicker creation and modification and deletion of pages and admin sections.

Editor

Drupal 8 has chipped in the popular CkEditor which is a WYSIWYG web editor. This HTML text editor brings many of the powerful WYSIWYG editing functions. This editor loads faster in the webpage and brings in a lot of opportunities to create and edit great contents. Drupal 8’s quick edit feature that is made available in core allows content editors the ability to do simple editing and changes in the page whereas Drupal 7 developers had to load a form specially for editing content.

Theming engine

Drupal 8 has introduced Twig which is a theming engine. The version 8 has moved the CSS classes from pre-process functions which was available in Drupal 7 to Twig templates. This has replaced the PHPTemplate in Drupal 7 as the default theme engine. PHPTemplate in Drupal 7 had chances of messy code and increased security issues in themes. The Twig feature in Drupal 8 is flexible, fast, and secure which means it is very much easier to create beautiful websites which are more functional too using Twig.

Mobile Responsiveness

Older versions of Drupal till version 7 were not mobile responsive. Drupal 8 has introduced mobile responsive themes which makes it easy to access through various devices like mobile tablet and desktop due to its responsiveness.

Drag and Drop Feature

Drag and drop option to upload files is now made available in core for Drupal 8 whereas in Drupal 7 this could be achieved only by installing contributed module.

REST API REST stands for Representational State Transfer

The RESTful Web Services API is new in Drupal 8 which is not present in Drupal 7. It enables external applications to modify and read data in our application. These interactions are mainly for creating, reading, updating and deleting resources.

New Field types:

Email Field: Email Field automatically validates the e-mail address and generates a 'mailto:' link when displayed.

Telephone: Generates a 'tel:' link when displayed. Useful for telephony apps like Skype and other phone systems for making calls.

Symfony framework

Another plus in Drupal 8 is its integration to the powerful Symfony framework that renders high performance. This makes creation and maintenance of applications a lot easier and faster than it was. Usage of Symfony framework has made applications using Drupal 8 more robust and scalable

Field Validation

Fields for email id, phone number that were not validated in Drupal 7 are validated automatically in Drupal 8 and a relevant link is displayed near it accordingly.

SVG Support

Drupal 7 supports browsers that does not support SVG which includes IE8 and Android Browser 2.3 whereas Drupal 8 does not.

Related: Web Development & Its Impact On SEO

Reasons for choosing Drupal 8 over Drupal 7

  • Other than the features above here are the reasons that I choose Drupal 8 over Drupal 7
  • Drupal 8 is newer and it has more features than Drupal 7. Drupal 8 has more than 200 built in features that could contribute to enhanced digital experiences in websites.
  • On a longer run, the newer version will be supported longer with version releases and the support for older version will decrease.
  • Drupal 8 supports responsive web design for every built-in theme.
  • Drupal 8 has a well-organized core compared to Drupal7.
  • Drupal 8 has an all new layout with enhanced UX and lets you create new and pages that are even more attractive.

Conclusion:

If you are a new Drupal programmer, then I would recommend you to stick to Drupal 7 as it is more robust and less error prone. The reason it is less error prone is that it has been validated repeatedly by a community of developers. Drupal 8 is not ready completely since there are a lot of missing modules in it. But if you are ready to take up the challenge and build new modules for the ones missing then go for Drupal 8. Choose Drupal 8 only if all your requirements are available in version 8 or else you will end up with a missing module. But this is necessarily not an issue if you would like to migrate modules from the core all by yourself. Top Drupal Development companies have already started utilizing the features of Drupal 8. It is so far the best release of Drupal. So, let us start scaling up with the technology before the next version release surpasses this one.

Thinking about using Drupal for your next web project? eDesk HUB provides Research, rankings and reviews of the leading Drupal web development companies for hire. Find the best developer for your needs.

SIGN UP TO OUR NEWSLETTER