Experiments in Modern Web Development

I recently decided to make my life a lot harder than it needs to be when I decided to try out some new platforms when building a simple landing page for my Inkfolio project.

If, like me, you have been living under a rock when it comes to modern web development, the hot new thing is the JAMstack. And if, like me, you have no idea what that is, it's a web development architecture based on JavaScript, API's and Markup. The JAM to the stack, if you will.

In any case, I decided that this new site would be the perfect opportunity to experiment with this new(ish) methodology, alongside a dash of React via Gatsby, neither of which I have ever used previously. To serve up all that delicious content, I'm using Drupal which I've used for a few projects in the past. The Gatsby site is then being automatically built and deployed via Netlify.

There's a lot to like with working this way, the site itself is blazing fast (97 on Google's PageSpeed Insights test for mobile), hosting is free (on Netlify, $5 p/m for Drupal if hosting online is important), form submissions are free and it's very easy to work with community created extensions.

With that being said, there are also a few big shortcomings, the biggest of which remains my general lack of familiarity with using a modern Javascript framework.

While working on this project I've also had the chance to experiment with Ghost. It was a doddle to install on Digital Ocean and the content authorship experience for simple blog posts or pages is hard to beat. It did however feel quite limiting compared to something like Drupal or WordPress which have much better support for things like working with custom content types, the theming also felt relatively unfamiliar and complex to me.

I may go back to a general monolithic Drupal installation when I start hitting the wall with my own skills, but for the time being I'm enjoying working this way. I may even experiment with using React & Gatsby to quickly generate email templates, the component system really is quite a nice way to work.