Why I picked Gatsby.js

October 10, 2018

Engineering

For over a year now, I’ve been been working with React nearly every day. Both at work and for my personal projects. It has taken the frontend development world by storm, and I surely wasn’t going to get left behind. Every UI project I’ve worked on as of late has been in React, along with rewriting my personal website and serving it from S3.

I’ve been traveling a lot lately, with intentions to do the whole “vlog” thing. Editing video content takes so much time, and I realized I was taking all this footage and producing no content. I decided blogging would be an easier route, and it was time for me to make a WordPress. Everybody and their mama has a blog or website built on WordPress. It’s open source, has a ton of support, and has a pretty solid CMS. As a modern full-stack Javascript developer, I didn’t want to be working in PHP anymore. Then I discovered GatsbyJS.

GatsbyJS is a blazing fast static site generator for React. I almost skipped over this because ‘static site’ didn’t really resonate with me. My React app on S3 was static, but requires Javascript to render, and makes it a terrible option for blogging and SEO. What kept me interested were all the buzzwords though: React, GraphQL, WebPack, blazing fast… it seemed worth while to continue reading.

Minutes later, I realized this is exactly what I was looking for. It has a slick GraphQL data layer that makes consuming data from anywhere super easy.

The great part is that all of the files are server rendered, and the page content is available to Google, and other search engine crawlers. Render times are crazy fast, and I love the idea of progressive rendering: if it doesn’t need to be done immediately, defer it.

Once you add GIT for version control, and Netlify for continuous deployment, you have a really slick deployment process that feels enterprise worthy. What’s cool about Netlify is that they serve your static files behind their CDN for free. Their free tier is insanely generous, and I have yet to out grow it. I still decided to go the WordPress route since I already had an instance up for other projects. There are a ton of headless CMS options, but Gatsby has a lot of support around their WordPress source plugin.

Now that my blogging infrastructure is all set up (that was the easy part), now I just need to start writing some blog post.