Devographics / Devographics/Monorepo

Migrating from Gatsby: Astro, Next.js, Waku…?

Open
#556 7 comments 1 reaction 1 assignee Claimed by @arayaryoma View on GitHub
Dominant language
TypeScript
Stars
178
Forks
55
Avg merge
1m
Merged PRs (30d)
2

Description

The `results` apps (such as https://2025.stateofjs.com/) are currently using [Gatsby](https://www.gatsbyjs.com/).

### Requirements

The requirements for the app are:

- TypeScript support
- React support
- Static site generation (generate HTML files)
- Can build/deploy many pages relatively fast

In addition, two nice-to-have more advanced features would be:

##### Hybrid Rendering

The ability to prerender some routes as HTML pages at build time, but also support dynamically server-side rendered routes at the same time (useful for things like dedicated metatags routes for social media sharing).

##### "Soft" SPA-style internal navigation

The ability to navigate the site without refreshing the page and having to reload the JavaScript bundle, while maintaining state etc. from page to page.

### Gatsby ❌

This is what we currently use. There are a couple issues with the current system:

- Gatsby is not well-supported anymore, and if things break they might not get fixed.
- Very long build times
- We don't really use any of Gatsby's features.

### Astro ❌

[Astro](https://astro.build/) is great but presents two issues:

- Loses some of its benefits if you don't use `.astro` components (in our case we want 100% of the components to remain in React for easier portability).
- Does not support "soft" SPA-style internal navigation (as far as I know)

### Next.js ❌

Pros:

- Supports all requirements
- Already used elsewhere in the stack

Cons:

- It's Next.js (complex, heavy, etc.)…

### Waku ✅

The other options I've been considering is [Waku](https://waku.gg/). Although it's much newer and smaller than Astro, it supports all requirements and doesn't have the baggage of Next.js.

### Something else?

I'm not aware of other good options but if there are, I'd love to hear about them!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.