Vike is a very (the most?) flexible framework in that regard. (See DX section below.)
Self-hosting option
No limitation: static host deployement with pre-rendering, classic server deployment, edge deployment, and ISR support with vite-plugin-vercel.
Vike's server middleware doesn't depend on Node.js and thus can be deployed anywhere.
Developer Experience
Full-fledged: Filesystem Routing, Data fetching, SSR, Pre-rendering (aka SSG), Layouts, HMR, i18n, Link Prefetching, Client Routing, HTML Streaming, ...
Most unique aspect: Vike provides unprecedented flexibility. Vike's architecture has been designed from the ground up to enable two types of usage:
With vike-react, the official Vike extension that integrates React in a full-fledged manner, providing a DX similar to regular frontend frameworks such as Next.js and Remix.
Without vike-react, enabling users to implement a fully custom React integration. (While providing helpers such as react-streaming.)
Stability, by using a stable Vike extension vike-react (e.g. old-fashioned React without Server Components) which can be maintained for a (very) long time.
Bleeding-edge, by using a bleeding-edge Vike extension (e.g. vike-react-experimental for experiments with Server Components).
Vike extensions such as vike-react are small and thus easy to develop, fostering stability as well as experimentation.
Built-in data() hook for page-level data fetching (thus no waterfalls).
With RPC (using Telefunc which we are also the author of): when waterfalls are detected we warn users and tell them to group and move up their data fetching logic (either in a common ancestor component or using Vike's buit-in data() hook). We don't believe in Next.js's caching approach (yet?).
The main blocker for Server Components is Vite's lack of support, but this is going to change with Vite's upcoming Vite Ecosystem API.
Other aspects of the RSC architecture are already implemented, such as component-level data fetching with progressive enhancement. (See example at Vike > HTML Streaming > Progressive Rendering.)
We were among the first to believe in the RPC renaissance (e.g. with a POC back in 2018). We're thrilled about RSC also from an RPC perspective.
Personal note
On a personal note, I'd like to thank the React team for all the innovation you brought to the table. Unidirectional data flow, components hooks, deep integration into HTML Streaming, and Server Components have a profound impact.
Name
Vike
Homepage
https://vike.dev
Install instructions
npm create vike@latest
(for using Vike with a manual React integration)Is your framework open source?
Yes
Well maintained
Bug reports are systematically fixed and pre-released (usually under 24h, see GitHub issues).
Feature requests are often swiftly implemented.
CHANGELOG.md
The Vike team (Rom, Joël, Dani, Muhammad, Chris) is passionate about programming, UIs, JavaScript, and React.
Active community
Clear onboarding
Ecosystem compatibility
Vike is a very (the most?) flexible framework in that regard. (See DX section below.)
Self-hosting option
No limitation: static host deployement with pre-rendering, classic server deployment, edge deployment, and ISR support with vite-plugin-vercel.
Vike's server middleware doesn't depend on Node.js and thus can be deployed anywhere.
Developer Experience
Full-fledged: Filesystem Routing, Data fetching, SSR, Pre-rendering (aka SSG), Layouts, HMR, i18n, Link Prefetching, Client Routing, HTML Streaming, ...
Most unique aspect: Vike provides unprecedented flexibility. Vike's architecture has been designed from the ground up to enable two types of usage:
vike-react
, the official Vike extension that integrates React in a full-fledged manner, providing a DX similar to regular frontend frameworks such as Next.js and Remix.vike-react
, enabling users to implement a fully custom React integration. (While providing helpers such asreact-streaming
.)Large companies sometimes need extra flexibility, see for example the use case of some of Vike sponsors.
Vite-based, thus blazing fast dev DX.
Polished details:
hitory.pushState()
. (Without breaking Vike's client-side routing.)User Experience
data()
hook for page-level data fetching (thus no waterfalls).data()
hook). We don't believe in Next.js's caching approach (yet?).Compatible with our future vision for React
We're thrilled about RSC. (For example, we designed a (discarded) alternative proposal when the Server Components design was first made public, and we're the author RFC #219: injectToStream.)
The main blocker for Server Components is Vite's lack of support, but this is going to change with Vite's upcoming Vite Ecosystem API.
Other aspects of the RSC architecture are already implemented, such as component-level data fetching with progressive enhancement. (See example at Vike > HTML Streaming > Progressive Rendering.)
We were among the first to believe in the RPC renaissance (e.g. with a POC back in 2018). We're thrilled about RSC also from an RPC perspective.
Personal note
On a personal note, I'd like to thank the React team for all the innovation you brought to the table. Unidirectional data flow, components hooks, deep integration into HTML Streaming, and Server Components have a profound impact.
Thank you.