Why Vike
Deep dive into what makes Vike special.
- Vike's architecture, enabling unprecedented flexibility and reliability.
- Vike's philosophy.
Architecture
From high-level design to the smallest details, Vike is built with flexibility and reliability in mind.
Flexible by design
Vike's flexibility is powered by low-level APIs.
For example, Vike's low-level hooks onRenderHtml()
and onRenderClient()
give you full control over integrating any:
- UI framework (React, Vue, ...)
- Data connection (REST, GraphQL, RPC, ...)
- Rendering strategy (SSR, SSG, SPA, islands, ...)
For a quick start, we recommend using Vike extensions instead of directly using these low-level APIs. For example, you can use
vike-react
orvike-vue
for a quick start similar to Next.js or Nuxt.Later, if the need arises for more control, you can eject
vike-react
/vike-vue
for a custom React/Vue integration.
Another example is Vike's server middleware renderPage()
enabling you to embed Vike into any:
- Server (Express.js, Hono, Fastify, ...)
- Deployment (AWS, Cloudflare, Vercel, ...)
Alternatively, you can pre-render your pages and deploy your app to any static host.
Flexible and reliable, by prioritization
If you create a feature request and explain why it's blocking then we treat it with higher priority.
We quickly fix bugs (usually within 24 hours).
Vike's team is responsive and we provide a clear guideline on how to receive reliable assistance.
Conservative or cutting-edge, your choice
Vike is a core with, on top of it, extensions that integrate tools. It fosters a diverse ecosystem of Vike extensions:
- Stable extensions, focusing on supporting conservative stacks in a long-term fashion.
- Cutting-edge extensions, focusing on experimenting and adopting new approaches.
For example, we are experimenting with RSC (React Server Components) in a separate extension
vike-react-rsc
. This allows us to quickly iterate without disruptingvike-react
users. We can maintain both extensions for the foreseeable future, enabling you to adopt RSC only if you want and whenever you want.
This gives you choice:
- If you prefer stability, choose stable extensions.
You get unparalleled stability: Vike in itself is stable and Vike extensions are a thin layer of glue code that can be maintained for a long time.
- If you have special requirements, or want to explore new approaches: choose cutting-edge extensions, eject extensions, write your own extensions, or build your own framework.
Vike's do-one-thing-do-it-well architecture provides unparalleled opportunities to experiment and push the envelope.
Vike enables you to keep your current stack for as long as you want, while progressively migrating towards new tools and approaches at your own pace.
Grow progressively
Not only can you adopt new technology at your pace, but you can also progressively adapt your stack to your evolving needs:
- One page at a time: you can change your stack progressively on a page-by-page basis.
- One architectural component at a time: you can switch architectural components independently of each other.
Progressive migrations enable you to migrate faster and in parralel to iterating on your product.
For example:
- You can start with SPA and, later if you end up needing SSR, you can progressively add SSR one page at a time.
- You can start with RPC and, later if the need arises, you can progressively switch to GraphQL.
Future-proof
Vike's flexible core is unopinionated and open to JavaScript's rapidly evolving ecosystem.
Vike is a stable foundation with a thin and flexible layer (Vike extensions) quickly adapting to the tools and approaches of tomorrow.
Build your own framework
Vike enables you to build company internal frameworks, empowering your Software Architects to fully own the architecture while providing your Product Developers with a company framework to quickly experiment, iterate, and ship production-grade apps.
Your framework can include everything (frontend, backend, data fetching, authentication, deployment, error tracking, analytics, ...) so that your Product Developers can focus on what they do best: building user interfaces.
Vike enables you to build your own internal ecosystem of tools. It's a powerful way to scale your teams, and to ensure a cohesive stack throughout your company.
Philosophy
Separation of concerns
Vike is carefully designed with a clean separation of concerns, for unprecedented flexibility and stability.
Enabling you to choose architectural components independently of each other, and progressively switch them as you grow.
Flourishing do-one-thing-do-it-well ecosystem
Vike's separation of concerns enables architectural components to be developed independently of each other.
A vibrant ecosystem of do-one-thing-do-it-well tools that compete with each other is one of the strongest driving force behind JavaScript's success.
Other frameworks tightly couple architectural components together, which is a structural hindrance that prevents innovation.
For example, Vike doesn't have built-in RPC (aka Server Actions). This flexibility enables RPC approaches to be developed and innovated independently of Vike.
Another example is GraphQL tools, which are notoriously hard (sometimes not even feasible) to integrate with other frameworks.
Listening to users
We engage in constructive conversations with users. While we enjoy pushing the envelope and innovating, our priority is, first and foremost, to listen and solve the real-world needs of users.
Vike's Open Source Pricing means that your success directly translates into our success. (Whereas other frameworks that make money from selling other products are inclined to have skewed priorities.)
Strong leadership
Vike is an independent project 100% led by engineers, with long-term visions and a clear plan.
Thanks to Vike's Open Source Pricing we don't serve the agenda of any unrelated business: we only serve the interests of users.
We are passionate about technology and strive for an increasingly collaborative society.