GioJSdocs
Get StartedReleasesGitHub ↗
Getting Started

Introduction

GioJS is a Rust-powered React framework. You write familiar React with file-based routing; the performance-critical hot path runs in compiled Rust, and Node does what it is best at — rendering React.

Why GioJS

Most of the things that make a React app fast in production — HTTP/2, brotli compression, image optimization, ISR caching, font self-hosting — are usually provided by a proprietary cloud. Self-host that same stack and you typically lose them. GioJS compiles all of it into a single binary so you get the same performance profile on a $5 VPS, bare metal, Windows, or Kubernetes — no CDN tax.

The split

The framework is two cooperating layers:

  • Rust owns the hot path — HTTP/2 & TLS, routing, brotli/gzip compression, image optimization, the ISR page cache, static files, and middleware.
  • Node renders React via renderToReadableStream, runs getServerSideProps, and gives you the full npm ecosystem.

A request only crosses into Node when it is a dynamic render that missed the cache. Everything else is served entirely from Rust.

Start in seconds

bash
npm create giojs@latest

Pick TypeScript or JavaScript at the prompt, then npm run dev. Next, head to Installation and Project Structure.

Coming from Next.js? The conventions (app/, page,layout, getServerSideProps) will feel familiar. See Migrating from Next.js.