Is Gatsby.js dead and
is this the end?
By Max Ikaheimo
July 30th, 2024
During my career in web development, I've seen countless frameworks come and go. Now, sadly, one of them is Gatsby.js. Once a pioneer in modern web development, Gatsby's hardly being maintained or updated anymore.
Gatsby has lost the competition as the de-facto standard framework for building modern web applications. Currently, there are simply better alternatives, such as Next.js which are being maintained and actively developed.
While at its core, Gatsby.js is an astoundingly innovative framework that brought way for the modern web development movement - competition has slowly crept up and it's no longer a viable option for building websites.
The brief history of Gatsby.js
2015 - Gatsby is founded: Gatsby was initially released in 2015 by Kyle Matthews, the creator of Gatsby. At its core, it's a React based meta framework designed to build optimized and modern websites by utilizing the various benefits of React, static page generation and other features that were unheard of with WordPress.
2019 - Gatsby gets funded: When I founded Ikius in 2019, Gatsby was driven by a small but enthusiastic group of developers. As an open-source framework, Gatsby was slowly gaining popularity among web developers due to the benefits mentioned before. It was truly an innovative framework compared to legacy systems such as WordPress, which was essentially an outdated way to build websites even in 2019.
Around the same time, Gatsby was funded in a series A round with around $15 million in capital. The added marketing boost and the fact that more companies started to notice the benefits of static website generators made Gatsby pick up wind around 2019.
2023 - Gatsby gets acquired by Netlify: Netlify acquires Gatsby Inc., marking the beginning of the end. I believe Gatsby had already begun its downfall around 2022 when Next.js started becoming more popular. During the acquisition, Netlify started to methodically incorporate Gatsby into their own ecosystem.
While this was happening, Gatsby's main competitor, Next.js had become technically superior to Gatsby (which is probably one of the reasons Netlify does not put much effort in maintaining Gatsby anymore) and has lead to it almost being neglected.
2024 and onward: Nobody really knows what lies ahead for Gatsby under Netlify's ownership. However, it is starting to look like less and less effort is put into maintaining and updating Gatsby.js, making it a risky choice for any new projects (an existing sites for that matter).
Why was Gatsby.js used?
The most widely used platform for building websites, WordPress, is notorious for its countless security issues, bad performance and being generally hard to work with for any serious website development.
To fix these issues commonly experienced with WordPress, companies started using Gatsby.js to develop their websites due to the countless benefits it brought for SEO, Performance, Security, Architecture and generally to create better and faster websites.
Gatsby was one the first if not first commercially viable option for building websites with React. At its peak, it was the only option available, and with massive funding behind it, it was a compelling option for building highly optimized websites.
Why did Gatsby.js die?
Well, technically it's not dead - but it's not alive and kickin' either. At this point, Gatsby.js can be considered an abandoned project whose original creators are no longer maintaining it. While it's open source, the contributors are mainly just developers pushing features they need to keep their own Gatsby sites functioning.
1. Gatsby's data layer
and fundamental issues with it
In 2019, there was really no competition for building static websites with React. Around 2021-ish, Next.js started gaining popularity as an alternative to Gatsby. Next.js basically did the same thing as Gatsby - it was open-source and React based but it had one important and fundamental difference: it was not opinionated how data was fetched.
Gatsby uses a very opinionated way to fetch data (Gatsby's GraphQL Data Layer) from various sources such as Headless CMSs. The way static sites work is that they build websites by "pulling" data such as CMS content from an external source.
Now, with Gatsby, this has to be done via Gatsby query plugins, using GraphQL that transform and create a "Data layer" within Gatsby. This requires an additional dependency to connect Gatsby to external data sources and then transform the queried data to a format Gatsby can digest.
This raises multiple fundamental issues:
In Gatsby, you have to use Gatsby integrated source-plugins to fetch and transform your data before consumed in React.
External data sources, usually SaaS vendors such as Headless CMSs have to maintain their own "interfaces" with Gatsby, essentially creating a level of additional dependency between any data source you want to use.
The additional query layer simply creates an additional level of complexity, which gives ground for more errors and issues.
Next.js, on the other hand is not opinionated how you fetch your data. It simply provides you with a framework to build your functionality decoupled from any data sources. Compared to Gatsby's way of handling this - Next.js provided a far better way of doing this.
Most data sources such as Headless CMSs started to favor the Next.js way of doing things and the previously mentioned Gatsby-plugins, surprise surprise became also unmaintained.
2. Gatsby Cloud
In 2019, Gatsby introduced "Gatsby Cloud" which was a proprietary service offered by Gatsby Inc. At first, it offered a more efficient CI/CD pipeline within the Gatsby Ecosystem to enable massively faster site builds.
At first, you could not host your site within Gatsby Cloud and had to deploy your site to other hosting providers such as Netlify, AWS etc. In 2021, Gatsby Inc. added the option to host your site within Gatsby Cloud directly.
This was a strategic business decision by Gatsby Inc. which ultimately among other things lead to Gatsby's downfall. Instead of focusing on integrating with other more popular and more battle-tested hosting and CI/CD platforms such as Netlify and Vercel, Gatsby started to focus on a more proprietary approach for hosting Gatsby sites.
This added yet another level of complexity and dependencies, going against all principles of why static web generators, Composable web, and the Jamstack architecture became so popular in the first place.
Not to mention, Gatsby Cloud was also quite expensive compared to similar alternatives for tech such as Next.js and Vercel.
3. Open source "vendor lock"
and dependencies
While Gatsby.js is open source, its development was largely driven by business reasons. Instead of focusing on features and additions that support the development cycle and integration with other available platforms and tools, Gatsby worked best within its own ecosystem (e.g. Gatsby Cloud).
This created a huge problem; it was practically not a viable option to host Gatsby outside Gatsby Cloud. Most features such as incremental builds built into Gatsby did not work very well outside Gatsby Cloud.
Competitors such as Next.js did not have this limitation. Vercel, the company behind Next.js has their own deployment platform (conveniently named Vercel). While Vercel supports seamless deployment and hosting for Next.js, it did not "vendor lock" Next.js just to its own ecosystem.
This was one of the reasons users started to stray away from Gatsby, as it added not only technical complexity and dependencies, but a massive business risk as it basically forced its users to be vendor locked within Gatsby's ecosystem.
4. Netlify acquires Gatsby
In 2023, Netlify, one of the biggest cloud hosting platforms for Composable web apps and sites, acquired Gatsby Inc. This happened most likely due to the decline of Gatsby Inc. and other business driven reasons that may or may not relate to Netlify's strategy for consolidating their presence as the "omniplatform" for building modern websites.
This integration marked the beginning of the end for Gatsby as a framework. In 2023, Gatsby Cloud was sunset, and Netlify began merging Gatsby as a brand and technology within their own Ecosystem.
Companies that had relied on Gatsby's ecosystem for their web systems now had a significant overhead cost and effort to keep maintaining Gatsby, especially if it was built within Gatsby Cloud.
Current state of Gatsby.js
Gatsby is not getting much love based on the Github Activity. Commits are made infrequently and seems like there's not much incentive for contributors to keep maintaining Gatsby, other than infrequent fixes here and there.
Compared to Next.js, Gatsby seems like an abandoned project at this point. I'm not sure if nobody aside from Netlify has a clear picture where Gatsby's going.
Would we start a new project with Gatsby? No. Would we recommend migrating from Gatsby to Next.js - probably. It is unclear where Gatsby is heading under Netlify's ownership, but it is certain that there are better alternatives if starting a new project.
It might be worth considering migrating from Gatsby to Next.js in case you have a larger website which you intend to maintain and sustain for years to come. We'll cover the migration process from Gatsby.js to Next.js in more detail in a future post. However, I hope this post sheds some light upon the situation regarding Gatsby.js and helps decision makers make educated decisions for choosing the right stack for web projects.
Contact us
Get in touch and let's discuss your business case
Submitting this form will not sign you up for any marketing lists. Your information is strictly used and stored for contacting you. Privacy Policy