Drupal 8 is an amazing release with a ton of great features for site builders and administrators, an object-oriented backend, and a Twig-based templating system.
We're here to make sure you navigate this territory with confidence. We have the most accurate and up-to-date Drupal 8 material you can find. With new versions of core coming out every 6 months, you can count on us to review and update all of our Drupal 8 tutorials so that you never fall behind.
Want to jump ahead? Here are the sections in this document:
- How to get started
- Tips for learning Drupal 8
How to get started
New to Drupal?
If you're not entirely sure what Drupal is, start with our Introduction to Drupal guide. After gaining a basic understanding of what it is and how it works, get started with site building, which will give you a foundation on how Drupal works and what you can do without touching code. When you're ready to dive into the code, for either theming your site or customizing the features, you can move on to other guides, depending on the areas you need to learn.
Know Drupal 7 and need to transfer knowledge?
If you are familiar with Drupal 7, there are minor changes in the administrative user interface (UI) and general site building. For code though, both in theming and development, there are significant changes. To get an overview of the main differences between 7 and 8, take a look at the What's New in Drupal 8 series. This will let you see where you have the most immediate gaps and will need to dive in.
Just need to learn topic X for a project or task?
If you have the fundamentals sorted out, but you need a refresher, or are taking on a new task, you can go straight to the information you need by browsing through our topical pages. They are more specific topics grouped by major category, like Theming or Module Development, and let you zero in on exactly what you need right now. Of course, you can also always search our site to pull up a wide range of materials based on your keyword.
Tips for learning Drupal 8
There is a lot of ground to cover in Drupal 8, so in addition to our tutorial resources listed above, here are some tips and tricks from our trainers for learning Drupal 8.
A lot of people are building sites with Drupal 8. You can read Drupal 8 case studies to see what modules and tools others are using for their projects, which can give you some great ideas and tips.
In Drupal 8, Composer has emerged as a standard tool for managing Drupal core and contributed module code for projects. Drupal core uses Composer itself to manage non-Drupal dependencies. Some contributed modules (and more all the time) also use Composer to integrate 3rd-party PHP libraries into Drupal. It's worth understanding more about this tool and how it is used in Drupal projects, as you are likely to encounter it at some point.
The administrative user interface (UI) is very similar to Drupal 7. It is very much the same, with a few new features, including having Views in core. This means that you can use most of the Drupal 7 documentation and tutorials, and transfer that knowledge to Drupal 8 fairly easily. For example, we wrote about the changes for Views between versions.
The community has also created a very nice, curated Drupal 8 User Guide on Drupal.org, which covers the fundamentals of Drupal 8 site building and ongoing maintenance.
Drupal 8 is using Twig as its templating language, and the Twig community is a great resource for questions about using Twig, as well as learning about the Twig project.
Is Drupal Twig the same as regular Twig?
Yes, it's the same as regular Twig, with a couple of Drupal additions. Drupal adds some custom filters and automatically handles the render pipeline for you. Anything you can do in regular Twig you can also do in Drupal's implementation of Twig.
One of the best resources that you should get familiar with from the start when working with Drupal code is the official API documentation site.
Another great resource for any developer is the Examples for Developers project on Drupal.org. This is a project that you can download, which contains multiple, well-documented example modules that implement Drupal's core APIs.
Drupal 8 uses object-oriented programming (OOP) and YAML. If you are not familiar with OOP in PHP or YAML, you should probably review that before diving into the code.