Go with Astro.
For those of you who are ready to dive in and spend several minutes to understand my thinking, let’s go.
No one will ever argue that NextJS reigns supreme in the world of web development meta frameworks. With unbelievable 4 million daily downloads (according to NPM Trends), it stands as the de-facto choice for handling React both on the server and client, owing much of its success to heavy marketing artillery.
And yes, NextJS is indeed very popular among large companies, just check this Wappalyzer page.
4th place: NextJS
Yes, last place. Although NextJS is so popular and so well marketed, it has its problems, especially the controversial Pages Router and SSR stuff. Another thing is, it’s created by Vercel, primarily for Vercel, supported by Vercel and promoted by Vercel. Is it bad, I don’t know, but I was so tired of their marketing bombardment everywhere that it lead to my NextJS fatigue.
- Large and active community with extensive Q&A resources
- An extensive ecosystem surrounding it
- The most established among the four frameworks
- Tied to Vercel, which may lead to vendor lock-in concerns
- Exclusive to React
- Lacking some features compared to other frameworks
3rd place: Remix
Remix recently has been acquired by Shopify, this promises a bright future for it. Shopify has so many talented engineers and their effort with headless storefronts plays very well with the acquihire.
- Backed by Shopify, no vendor lock-in (yet)
- Embraces web standards
- Relatively straightforward to grasp
- React only
- Limited adoption and a smaller community
- Action, loader, and page components bundled into the same file can be a drawback
2nd place: SvelteKit
I like Svelte and SvelteKit, I like Rich and his ideas and I hope SvelteKit will gain its momentum in 2024 so that more people see that there is a whole world behind React walls. Another thing that I like in it is that it seamlessly integrates with various cloud adaptors. Of course Svelte framework itself is highly approachable and easy to understand, now that they introduced runes that look very similar to SolidJS signals Svelte may grow pretty fast.
- Exceptional separation of concerns, including actions, loaders, hooks, and more
- Offers user-friendly and configurable cloud adaptors
- Limited community and adoption
- Some peculiar behavior in Svelte LSP when used with TypeScript
1st place: Astro
My top pick is Astro, without a doubt. The very website you’re reading this review on is built with Astro, which offers unparalleled flexibility in terms of tooling choices.
Whether you prefer React, Preact, Svelte, Solid, or something else entirely, Astro accommodates it all. It has adopted the concept of “islands,” allowing you to use different frontend frameworks for different parts of your app, even enabling server-side rendering for all of them. Unbeatable developer experience. Astro nailed so many hard and time-consuming things so well.
- Unparalleled flexibility; use the tools and frameworks you prefer
- Multiple adaptors available for various cloud providers
- Comes with pre-built tools for creating blogs and documentation
- Smaller community compared to some other frameworks
As a conclusion: try new things outside of your zone of comfort. This is especially useful for those developers who are all in React.