Devographics / Devographics/Monorepo
Migrating from Gatsby: Astro, Next.js, Waku…?
- 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.