Impressions of Drupal 8 as a New Developer
I started in web development about a year ago. When I was hired on at Texas Creative in early October of 2016, I still only knew the bare minimum, but I was eager to learn more to further my career path. Here at Texas Creative, we use Drupal, a content management system (CMS) I had no prior experience in. The idea of that seemed daunting, but I was eager to learn, and with the mentorship of my team in the past few months, I’ve certainly learned a lot and have grown to love Drupal.
At first, when I was told Drupal was a CMS, my mind instantly thought of Wordpress. I hadn’t played with Wordpress much either, but being the world’s most popular CMS, I had heard many stories from other developers, many of those were complaints about its lack of flexibility. However, once I started the planning and development of my first site at Texas Creative, I quickly learned that was not the case with Drupal.
Drupal acts more like a build-your-own CMS rather than an out of the box framework like Wordpress. Of course, you can easily add a premade theme, such as Omega and Adaptive, and with the core and wide selection of contrib modules, you can have a basic site. However, Drupal allows you to edit the root files directly, which is perfect for an agency that wants to produce fully custom designs and functionality for their clients. This gives Drupal a much steeper learning curve, so my experience in core web development languages and the mentorship from my teammates were essential.
At Texas Creative, we have a base site which is essentially a clean slate with no real theme and only modules we deemed necessary for every site. During planning, we figure out which modules need to be installed and enabled to fit the client’s needs. We then add content and begin the theming process with a design at hand. Sometimes, the DOM generated by the content or paragraph types isn’t the best for theming the content to match the said design. A simple solution for this is using the Field Group module to help organize your DOM as you’d like. Unfortunately, this doesn’t work for every situation, and when it doesn’t, you’ll need to utilize Drupal’s templating engine: Twig.
One of my favorite things about Drupal is the fact that it is completely open sourced. This means you can not only create your own contrib modules for others to install and use but if you find a way to improve the core code, you can easily open an issue on Drupal.org and help the community by fixing and improving this code. With Drupal being one of the most widely-used content management systems out there, issues get resolved and better functionality is added regularly by the community.
Coming from only developing sites with a bare-bones PHP framework, Drupal has really impressed me in the few months that I’ve been developing with it. While frameworks such as Laravel can be great, it can be a hassle when you have to either edit the template files directly to make changes, or create your own pseudo-CMS to change content on your pages. Drupal provides you with many different ways to edit content right out of the box, without having to deal with that much code. For an agency that wants content entry to be simple for clients and tailored to their needs and level of expertise, Drupal makes the most sense. Even in personal projects, I’ll still continue to use Drupal for its power right out of the box. Providing such a great back-end leaves a developer such as myself to focus on developing better functionality and theming beautiful pages.
Feel free to leave a comment with any insights or similar experiences you have had and check out some other Drupal related blogs by Texas Creative: