Architecture
In the spirit of do-one-thing-do-it-well, Vike focuses on being an excellent frontend framework while not interfering with the rest of your stack.
With Vike, your application's architecture is composed of independent core constituents with a clear separation of concerns.
We believe it's paramount for user freedom and fostering innovation resulting in high-quality tools.
renderPage()
From the perspective of a server, Vike is just a middleware:
You can embed renderPage()
into any server.
Alternatively, instead of using renderPage()
, you can pre-render your pages and remove the need for a production server (and deploy to a static host instead).
Vike can easily be embedded into any server architecture and any deployment strategy.
onRenderHtml()
& onRenderClient()
The Vike extensions vike-react
/vike-vue
/vike-solid
integrate UI frameworks. Instead, you can use the hooks onRenderHtml()
and onRenderClient()
for a bespoke integration of your favorite UI framework.
Not only do you control the UI framework integration, but you also control the integration of data-fetching tools such as RPC and GraphQL.
For example, you can integrate Relay in ways that aren't possible with other frameworks.
Configuration
Vike's config inheritance and extensibility enable mighty Vike extensions and user customizations.
You can even use completely different rendering strategies (e.g. React + SSR for some pages, and Vue + SPA for other pages) within the same app.