Optional Control
A core belief of Vike is what we call optional control: you begin with a full-fledged zero-config setup to quickly get started, while later if/when the need arises you can take control over integration code that was initially hidden from you.
You can for example use vike-react
to get a quick start like a regular frontend framework such as Next.js while later replacing vike-react
with a fully custom React integration.
If you use Vike without any Vike extension then you have complete control over how your favorite tools integrate with Vike.
Vike extensions use the same interface as Vike applications: anything a Vike extension can do, you as a Vike user can do as well. In other words, Vike extensions are fully ejectable.
With Vike, you get the best of both words: a quick start as well as control.
You can double down on the Lean Software methodology:
- Quickly ship a prototype/MVP in order to quickly get your first users.
- Quickly get feedback about what users want.
- As you grow: focus, take control over, and polish features that make your app unique to your users.
For example:
- While RPC is an excellent choice to quickly get started, you may need GraphQL if you scale to a larger organization.
A unique aspect of Vike is that it gives you unprecedented and complete control over the GraphQL integration. (While you can also use Vike extensions such as
vike-react-apollo
to quickly get started with GraphQL.) - If polishing i18n becomes a crucial part of your UX, then you can consider using Vike's low-level hooks for complete control over internationalization.
Vike's flexibility is unique as well for i18n.
- If your authentication strategy becomes an important aspect of your business model, then you can eject your authentication Vike extension in order to take full control over the authentication process.
Vike extensions such as
vike-authjs
andvike-lucia
are work-in-progress.