Difference between Drupal 7 and Drupal 8
Key Difference: Drupal 8 features many differences over Drupal 7. One major difference is that it replaces the default theme engine from PHPTemplate to its own Twig. Drupal 8 features better CSS and JavaScript integration, but it also changes the manner in which they must be added. It also launches many new features.
include("ad4th.php"); ?>Drupal is a type of content management software (CMS), which basically means that it helps create websites and applications, most of which we use today. As a CMS, Drupal forms the core software that is modified and
According to the Drupal website, “Drupal is an “out of the box” web content management tool as well as a customizable platform.” Basically, it means that the software can be used as it, or it can be modified to suit individual needs. The website boasts that “Drupal is the #1 platform for web content management among global enterprises, governments, higher education institutions, and NGOs’, and that it is used by over 1,000,000 websites.
include("ad3rd.php"); ?>With the launch of Drupal 8, the company announced that Drupal 8 features easier content authoring, it is built for a mobile-first experience, supports more languages, as well as better interface translations. The company also states that as compared to 7, 8 supports a better ecosystem for digital integrations, which means that it has better support for email, analytics, marketing automation, and other digital tech solutions.
Drupal has been originally based off PHP, however, in Drupal 8 the company has replaced the default theme engine from PHPTemplate to Twig, which it is now introducing. However, this raises a concern that users migrating from Drupal 7 to 8, will have to relearn and change the code. For example: the theme_* functions and PHP-based *.tpl.php files have now been replaced by *.html.twig templates ().
There are additional changes in the manner that Drupal 7 and Drupal 8 address CSS and JavaScript. Drupal 8 features better CSS and JavaScript integration, but it also changes the manner in which they must be added. While Drupal 7 used drupal_add_css() and drupal_add_js() functions to add CSS or JS, Drupal 8 attaches these assets in the #attached property of a render array using libraries.
Ideally, Drupal 8 is an improvement over Drupal 7. However, a number of people are frustrated with Drupal 8, primarily due to the larger learning curve which needs to be overcome to fully utilize Drupal 8. Drupal 8 makes a number to huge core changes over 7, some of which has left developers flabbergasted. They now have to make sense of a new system, which is not entirely stable as it is still new. Still, over time as developers get used to the changes in Drupal 8, the new version of the popular CMS has the potential to become as great as Drupal 7 is currently considered to be.
Please refer to the table below for additional differences between Drupal 7 and Drupal 8.
Comparison between Drupal 7 and Drupal 8:
|
Drupal 7 |
Drupal 8 |
Type of |
Content management software (CMS) |
Content management software (CMS) |
Cost |
Free |
Free |
Released |
January 5, 2011 |
October 7, 2015 |
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. |
Schema.org markup |
Does not output schema.org markup |
Drupal 8's core RDFa module outputs schema.org markup |
WAI-ARIA attributes |
Not an extensive use of WAI-ARIA attributes. |
Extensive use of WAI-ARIA attributes. |
IE Support |
Supports IE 6, 7 and 8 |
Drops support for IE 6, 7 and 8 |
jQuery |
Drupal 7 includes jQuery 1.4.4 and jQuery UI 1.8.7 |
Uses jQuery 2.0 and other code that assumes modern HTML5/CSS3 browser support. |
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 theme_* functions and PHP-based *.tpl.php files |
Introduces Twig *.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 li.collapsed .menu li.leaf .menu li.active-trail .menu li.first .menu li.last |
.menu-item–expanded .menu-item–collapsed .menu-item–active-trail .menu-item:first-child .menu-item:last-child .menu-item—leaf – removed |
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. |
Uses breakpoint 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 E-mail 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 Image Courtesy: churchm.ag, drupal.org
Add new comment