Using GatsbyJS for the sixth generation of the Art of Geography website
16 October 2019
This website has gone through a few eras of web technologies. The first incarnation was created using Dreamweaver. The second generation was custom written using Coda. Somewhere after the initial launch and before the third generation site WordPress was used for the blog part of the site. Then the third generation site used Drupal. The fourth generation was hosted on Webflow and used their site building tools. The fifth generation was hand written using Atom. This, the latest generation, was developed using Gatsby JS.
What is Gatsby?
It is JAMstack static site generator that can pull data from myriad sources including local markdown files, YAML or JSON data, or content management systems (CMS) like WordPress, Drupal, Ghost or Contentful. It can be used to create websites that have the single-page-app experience — loading quickly, and pre-caching code and data needed for other pages so that clicking on a link loads the next page instantly. GatsbyJS uses React + GraphQL + Webpack (and at a lower level, Node.js and npm and/or yarn). The resulting static site can be deployed to Netlify, static hosting, or Github pages (and some of these options are free or close to free as well).
The most compelling reasons to use Gatsby have to do with the static site aspect: the page loading speed can be amazingly fast, and the site security is enhanced due to no intrinsic database or PHP code. It certainly doesn't hurt that Gatsby is free, and the documentation is excellent.
It is really easy to get started with a freshly built Gatsby site thanks to various Gatsby "starters" (assuming you are comfortable with the command line). The effort level for the next steps is up to you -- there's practically an infinite amount of website tweaking that you can do.
Advantages seen so far vs. all the previous approaches:
- Fast and easy to create new blog posts
- Very convenient to add new media to portfolio pages
- Virtually instantaneous in-browser feedback after making a change to the site
- Despite being relatively new, already many online answers available when you have questions