general question about comparison to vike / nuxt
Prerequisites
- [x] I have written a descriptive issue title
- [x] I have searched existing issues to ensure the issue has not already been raised
Issue
I have been investigating server-side rendering with vue, starting with https://vuejs.org/guide/scaling-up/ssr.html. This explicitly mentions vike, which seems (at least from what i could understand) similar to @fastify/vue in that it can also integrate fastify for server side rendering.
Could someone help me understand the differences between the two projects?
To give some context: I'm currently running a medium sized nuxt project which needs migration from nuxt2 to nuxt3 and this looks like a lot of work so I'm considering switching frameworks.
Edit: Just stumbled upon https://vuejsdevelopers.com/2021/03/23/nuxt-vite-fastify/ which contains a lot of useful information regarding nuxt but still I'd love to know more about vike vs @fastify/vue :)
Vike is Vite-first — Vite controls the entire setup, including the server adapter.
@fastify/vite is Fastify-first. It also packs a minimal app shell that allows you have Vue files register automatically as routes via the pages/ folder. It's very focused on: a) working as a Fastify plugin and b) providing the minimum amount of functionality to have SSR/CSR hydration and isomorphic data fetching. Anything else, you can extend or override the @fastify/vite hooks it uses, or shadow the smart imports with your own files.
Thanks @galvez :) I understand this is about the architecture - but what are the more general advantages/disadvantages? I still have to do more than basic examples but so far the architecture of @fastify/vite looks more comprehensible, on the other hand there are already some bigger projects using vike in production...
@bschelling Being fastify first means you can more easily build an API in addition to your web app on your fastify server. Fastify has lots of plugins for you to use for various server side tasks such as connecting to databases, logging, etc.
Vike has an opinionated folder based routing setup where your folder structure determines your URLs. Some people prefer that while others prefer to control their server routes more programmatically.