You are a Drupal 7 developer willing to make a transition to Drupal 8 for the purpose of developing sites, plugins and modules. While you might be conversant with several drupalisms, you might not be adept with modern PHP frameworks, practices and principles. Though, Drupal 8 still comprises of several old drupalisms practices, it attempts to keep consistent with the recent advancements.
So, if you wish to get started on developing custom modules or themes in Drupal 8, there are six important things, which you as a Drupal 8 developer need to take. Have a look:
- Have a Solid OOP (Object Oriented Programming language): The most important thing that differentiates Drupal 7 from Drupal 8 from developer point of view is the way code is written. Though, it’s still written in PHP, it’s has become much more object oriented. Depending upon your expertise in OOP, you would have to learn, brush up or revise it to build Drupal 8 modules efficiently.
- Understanding of Composer: It is important for developers to understand the working of Composer package manager, which is extremely useful in installing, updating and managing the external PHP libraries and dependencies of your project.
- Familiarity with Symfony: The introduction of Symfony components in the Drupal 8 development cycle has been a topic of debate. While some do not recommend learning symphony for developing sites in Drupal 8, there are some that consider it to be a great modular framework and strongly recommend learning it to understand how drupal 8 is built.
- Controllers and Routing: When one begins to learn Drupal 8, he/ she would require creating the mandatory hello world module i.e. building a page with a parameter in the URL. This introduces you to many important things such as module folder structure, routing etc.
- Familiarity with Plugins: It is important to get familiarity with plugins to extend default drupal functionality as several old Drupal 7 implementations of various concepts have been converted to plugins.
- Dependency Injection: Another important yet simple concept that is important for developers to grab is dependency injection, which is used by Drupal 8 to manage service initiation and injection into classes that require them.
These are the initial six steps, which developers should become familiar with while learning Drupal 8.