For the last 13 years or so, I've been exclusively a Drupal guy. If someone wanted a website, I always built it in Drupal. Even for very simple sites. For the small sites, my thinking was that the client might want to expand their site, or edit the existing content themselves, so give them the option. And, of course, I could customize Drupal to do whatever the client needed, so I just stuck with it.

Over the last couple of years, the decoupled craze has really gotten going. I've mostly ignored it because I've always been too busy to really dig into it. After leaving Acquia, I had a bit more time on my hands, and I took the time to learn some of those decoupled technologies like React and Angular. There is SO MUCH stuff out there, I was quickly feeling overwhelmed and had to somehow limit my scope for learning new things.

Here's what I decided to look at initially: React and Angular. Both are super popular so there's no shortage of tutorials and courses. I started with React until the folks where I'm contracting, used Angular for an app and I was told "it's better for enterprise than React". So anyway, while playing with React, GatsbyJS popped up and it was just so easy to use to generate stuff, I was blown away. Sure, I didn't actually understand everything it did under the hood - at least not yet - but I started picking things up pretty quick. Throw in a few more tutorials and I was really liking it. From a Drupal perspective, it felt like GatsbyJS was like Drupal and React (on which Gatsby runs) was like PHP (or maybe Symphony), on which Drupal runs.

So I did a bunch of "Hello World" tutorials for various things, started building blog sites using things like Gatsby with Contentful, WordPress, online Mongo or PostGres databases, and even Drupal. At one point, I had an Angular app, a React app and a VueJS app all pulling the same blog posts from a Drupal site. That was pretty amazing to me, to be honest. I think it was at that point that I really started thinking about using some of these tools in projects for clients. And maybe I should have looked at alternatives like this for some of those really basic sites I've built over the years.

There still lots to think about and learn, but before this becomes a novel, I'm going to leave it here. Hopefully the next blog post will actually have some code in it. I'm not totally loving this current site setup from Stackbit, so I'm thinking of writing a series of posts about how I rebuild this site in Gatsby using what seems like a more standard Gatsby setup e.g. using GraphQL, and having my local development build automatically recompile when I save a SASS file(!).