I choose Nuxt.js and Nuxt UI Pro specifically because they aren't Vercel products. I built two SAAS MVPs over the last year based on this, now I'll have to wait and see what Vercel (their competitor) wants to do with it.
I choose Nuxt.js and Nuxt UI Pro specifically because they aren't Vercel products. I built two SAAS MVPs over the last year based on this, now I'll have to wait and see what Vercel (their competitor) wants to do with it.
I have also just discovered a dedicated section for the migration from Nuxt to Astro:
>Key Similarities between Nuxt and Astro
Nuxt and Astro share some similarities that will help you migrate your project:
- Astro projects can also be SSG or SSR with page level prerendering.
- Astro uses file-based routing, and allows specially named pages to create dynamic routes.
- Astro is component-based, and your markup structure will be similar before and after your migration.
- Astro has an official integration for using Vue components.
- Astro has support for installing NPM packages, including Vue libraries. You may be able to keep some or all of your existing Vue components and dependencies.
https://docs.astro.build/en/guides/migrate-to-astro/from-nux...
But Astro's model is "generate markup once, serve statically".
Nuxt's model is "Server-Side JavaScript"
So their philosophy is to start with zero client-side javascript, even when one is using components from javascript-heavy frameworks like React or Vue. Interactivity is apparently something one has to explicitly opt-in to by adding a client:* directive, rather than it being the default.
The migration guide states, "Astro projects can also be SSG or SSR with page level prerendering," which puts it on par with Nuxt in that regard.
A difference I've noticed regarding server-side features is that Astro allows one to "define and call backend functions with type-safety."[0] which even Nuxt doesnt offer in such a convenient and type-safe manner. I'm pretty happy with what i'm seeing in Astro's docs so far.
- Nuxt is a Vue-based SPA (single-page application). Astro sites are multi-page apps built using .astro components, but can also support React, Preact, Vue.js, Svelte, SolidJS, AlpineJS, and raw HTML templating.
- Page Routing: Nuxt uses vue-router for SPA routing, and vue-meta for managing <head>. In Astro, you will create separate HTML page routes and control your page <head> directly, or in a layout component.
- content-driven: Astro was designed to showcase your content and to allow you to opt-in to interactivity only as needed. An existing Nuxt app may be built for high client-side interactivity. Astro has built-in capabilities for working with your content, such as page generation, but may require advanced Astro techniques to include items that are more challenging to replicate using .astro components, such as dashboards.
[0] https://docs.astro.build/en/guides/migrate-to-astro/from-nux...
Nuxt is a server-side JavaScript framework with a complete HTTP application stack, built on top of Nitro (which includes an even larger suite of capabilities) and H3.
https://nitro.build https://v1.h3.dev
Astro is markup generation.
They are only comparable in that "both can print markup".
[0] https://docs.astro.build/en/concepts/islands/#server-islands
All you have to look at is Svelte, which Vercel hired all the developer of, and that turned out to be a great thing. Svelte and SvelteKit are better than ever and nothing they have done since has shown to be forced by Vercel.
The point is that you’re just seeing business strategy aligned with our interest, but that can, and will, change.