reactjs / react.dev

The React documentation website
https://react.dev/
Creative Commons Attribution 4.0 International
11.07k stars 7.55k forks source link

[Framework]: Vike #6900

Open brillout opened 5 months ago

brillout commented 5 months ago

Name

Vike

Homepage

https://vike.dev

Install instructions

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:

Large companies sometimes need extra flexibility, see for example the use case of some of Vike sponsors.

[!NOTE]
Vike's architecture enables both:

  • 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.

Vite-based, thus blazing fast dev DX.

Polished details:

User Experience

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.