Drupal 8 Drove Me Temporarily Mad

Submitted by Josh on

When I first started building my new site here, I had only one system in mind with which to run it: Drupal 8. There were a few reasons for this, but chief among them were two. First, I'd been using Drupal with a lot of success for many years to get sites with custom designs up and running quickly for both small businesses and my own needs (most recently, when I spent a brief time attempting to sell my home in Massachusetts on my own). Second, I hadn't had a chance to use Drupal 8 yet and I expected it to be light years ahead of what I was used to, and I was excited to add it to my repertoire.

Unfortunately for me, it didn't quite work out that way. I worked with Drupal 8 for the better part of a month before I couldn't deal with messing with it further, and went back to Drupal 7 (and, even in starting mostly over, I was able to get the core functionality of the site done in Drupal 7 within a week and a half of working in the evenings). While there is some stuff in 8 that I really liked, working with it day to day was just getting the better of me.

The biggest thing that caught me out was the dearth of user-contributed modules relative to previous versions. I'd waited a long time to try Drupal 8 to allow it to become established in this way, knowing that not everyone would be porting their modules to the new system with great speed - after all, these talented folks also would have to learn the system, and those who did would have more bugs than before due to Drupal 8 being such a large scale rewrite. It seems like a year wasn't long enough to wait, though; 8.0.0 dropped in November of 2015 and even a year later, I struggled to find working upgrades to a large number of my go-to Drupal 7 modules. One can't fault anyone for such a thing, and if I really wanted it, I should have built it myself - however, I've done a site already for my portfolio that I wrote from the ground up, and doing it again wasn't convenient in any number of ways. As such, it was difficult for me to justify the workarounds I needed to undertake for D8. On the bright side, there were certainly some modules that everyone used in 7 that became part of the Drupal Core in 8, but that wasn't enough on its own for me to do what I wanted.

Drupal 8 also seems far more difficult to work with as a customizer. The move to templating pages using Twig is a really good one in theory, for instance. After getting used to working in Twigs, it was difficult for me to go back to the old Drupal 7 style of templating. But the sheer number of Twigs available and isolating what ones I needed was a drag, and I wasn't working in the system long enough to build up muscle memory of where to best look for things. This is an issue I would have gotten around over time, probably fairly quickly, but given the amount of effort I wanted to put in to this site, it didn't work out very well for me at the time. Of course, I should note that I put quite a lot of effort into this site, particularly for it being so relatively small, but that effort was mainly driven towards the UX, not in trying to nickel-and-dime the framework into doing what I wanted.

The worst part about D8, though, was the speed. It's clear that for the new version, the engineers wanted to build something out that was enterprise-ready - however, one of the big jokes that engineers make about enterprise software is that you can identify it by the resources it hogs. My webserver isn't some privately colocated box that requires a mountain waterfall to cool its cores, to be sure, but it's definitely a more robust machine than your average guy is likely to be putting his personal site on. In my case, though, the system really chugged in trying to load a page as an unauthenticated user, and it only got worse while logged in. It made it a nightmare to develop and test with, and I'm under no illusions as to how sticky my content is: the speed at which my pages were loading would cause an average person just wanting to learn more about me before discussing a contract or a full-time position to bail well before getting the whole picture.

Again, there's a lot of stuff that I do like about Drupal 8. The setup was quick for what I wanted to do, particularly thanks to all the stuff that's now in Core. The Twig system looks like something I could really like working with. The ability to aggregate CSS and JS to reduce HTTP requests for those resources is absolutely fantastic, especially given how specific the included sources are for those assets. There's a lot of good there, just not enough to make me grit my teeth through the rough spots. I shouldn't have waited over a decade to give my site a facelift. However, once I forced myself to dedicate the time, I definitely couldn't cope with the roadblocks of doing it in Drupal 8. I'll be sticking with 7 - which has not reached it's end of life, by the way - for the foreseeable future.