This article documents my first encouter with Drupal 8.1, some of the changes from Drupal 7, and overall experience.
About 2 years ago, I used Drupal CMS in my first project. When I did my research for a potential platform for that project, Drupal 8 was there. Seeing the limited module support (in Drupal 8), and my own limited familiarity with the Drupal platform as a whole, I made the decision to stick to Drupal version 7.
The decision paid off! Firstly, there were plenty of well-tried and tested modules to provide almost all needed components of the website. And, secondly, it was much easier to get help from the Drupal Developers'/Users' Communities. In short, Drupal 7's maturity was its strength at the time.
Despite Drupal 7's maturity and community strength, though, getting into the Drupal world was not easy. I immediately stumbled on integrating JQuery on Drupal, some already working codes (tried in different platforms) did not work, and Drupal's hook concept was a totally new concept for me. I immediately got the message that "Drupal has its own way of doing things."
Last month, I decided to upgrade my site to Drupal 8, assuming it was a couple of days' work, and I downloaded Drupal 8 and started working on it. On seeing the detail, however, I was surprised to learn that Drupal 8 had taken a big leap from Drupal 7. I had to learn the followings, as suggested by some Drupal 8 developers, to get on with the Drupal 8 journey:
- The Object-Oriented PHP: I was a very reluctant PHP language learner, and I had not done Object-Oriented PHP (Object-Oriented PHP was later added to PHP language.). The reasons for my reluctance were:
- I am a fan of MVC (Model-View-Controller) concept that allows back-end programmers and front-end designers to work independently from each other (with some coordination, of course!). The PHP, along with JSP and ASP, however, came with the notion of bringing a complete programming power and control in the front-end, mixing both (front-end and back-end) together. This approach is perfectly fine for smaller projects, but it has tendencies to bring about devastating complexities in bigger projects.
- As a relatively new language, like any other new languages and technologies, its immaturity was apparent.
- The PHP was developed purely for web development, but web scripting was not the only scripting I had to do.
- Symfony Framework: Symfony is a PHP-based, Model-View-Controller, web application framework that Drupal 8 has used. Just to get the Symfony concept, I created a simple application (Hello, World) and found it very similar to Java-based Spring MVC framework.
- Twig Templating language: In Drupal 8, the PHPTemplate has been replaced with Twig Templating language. I found Twig much simpler and cleaner.
- Drupal Console: The Drupal Console is a suite of command-line interfce (CLI) tools to generate boilerplate code and interact with a Drupal 8 installation. I found it very useful for coding and learning Drupal 8
It was not a couple of days' work!
The estimated duration of a couple of days' work ended in several weeks of intensive learning process, but, it, definitely, worth the time I spent, considering the direction Drupal 8 has taken. I found Drupal 8 much cleaner, consistent, and more aligned to generally accepted standards and frameworks. This, I believe, will bring about the potential skill and knowledge transferability to and from Drupal World.
In short, it is a big leap away from Drupal 7, and towards the better direction!
A. Revision History
|Revision 0.0-0||Wed, 24 May2017|