5 recommendations before starting your first Drupal 8 project

24.05.2016 Jose Luis Bellido

Are you thinking about developing with Drupal 8?

At Cocomore we have faced the learning curve of Drupal 8 when developing our first real project with the new version of Drupal, which was just released a few weeks ago. As part of our company’s philosophy we want to share with others what we have learned and try to make the learning curve of Drupal 8 easier for you.

This is the first of three blog posts, where we will cover some reflections, learning & documentation resources and useful tools. If you are going to face your first project with Drupal 8, this series of blog posts will be helpful to you.

Before you start developing your first Drupal 8 project, and if you have some experience developing with Drupal 7, you will get some ideas here that would be great to keep in mind.

Just keep the concepts and good practices in mind. Forget everything else.

Most of your knowledge about how to face some problems or requirements in Drupal 7 is not necessary in Drupal 8. This is not bad news because the concepts are the same. We can say that the “how” changed, but not the “what”. So reset yourself and learn how to develop your formatters, widgets, etc. in Drupal 8.

Read and learn modern PHP concepts.

Now Drupal is much more object oriented than in the previous version. If you have been living on an island, new concepts like traits, dependency injection or others will probably be new for you. Those concepts are common in other modern PHP frameworks like Symfony. So once you learn them, you will start to get off the island and you will become a more professional developer. A good read for this purpose is PHP: The right way where you’ll find the best practices and concepts about modern PHP development.

Don’t stay on the surface. Dig in the concept.

Each time you learn how to do something new, don’t stay on the surface but go deeper, spending some time on learning why that decision was made, what design pattern is used or how it is implemented. Doing this will make you learn faster and faster, and you will understand the whole picture, and therefore make better decisions in the future.

Reset and review your current development process.

Drupal 8 has tons of very important features like the new Configuration management system, which will allow you to export/import configurations between different environments. Because of that and other important new features you will probably need to adapt your current scripts and tools to Drupal 8 and review each of them. Here are some interesting resources to find out more about configuration management:

 

The best examples you can find are in core!

Drupal 8 was and is changing fast, the examples that you can find in other blog posts are probably deprecated by now, they don’t work or can be improved. Because of that, try to search for some examples in Drupal core before you start looking for “how to” blog posts! On the one hand you will always find updated examples and best practices about developing with Drupal. On the other hand you will learn how Drupal is built and your knowledge about Drupal will increase!

Keep reading

Like we said at the beginning, this blog post is one in the series that we write about recommendations and thoughts that will be helpful to you if you are thinking about starting your first Drupal 8 project. We hope that you will enjoy this series of blog posts!