GioJS runs HTTP/2, compression, image optimization, and ISR caching in compiled Rust - while Node renders the React you already know. The same performance profile as a managed cloud, on any server you own.
export default function Post({ post }) {
return <article><h1>{post.title}</h1></article>;
}
export async function getServerSideProps({ params }) {
const post = await db.posts.find(params.id);
return { props: { post } };
}The performance features that normally live behind a paywall, compiled into a server you run anywhere.
Every connection multiplexed and header-compressed - h2c or TLS, zero config.
AVIF → WebP → JPEG with a two-layer cache. CDN-grade, fully self-hosted.
Stale-while-revalidate out of the box. Serve cached HTML in microseconds.
Zero-copy tower middleware on every response. No Node event-loop cost.
Security headers, CSRF and WebSocket origin checks on every response; CSP nonces in one line.
Encrypted cookie sessions, verified in Rust before a protected request reaches Node.
Tag pages and purge them by tag or path - from your code or a CMS webhook.
The React you already know. getServerSideProps, layouts, streaming, partial prerendering.
Page actions and GioForm: progressive enhancement, validation errors, Post/Redirect/Get.
Title templates, sitemaps, JSON-LD, CSS imports and Modules - bundled at startup.
Render on every core with supervised Node workers that can never be orphaned.
renderPage, callRoute and a real test server - under vitest or node:test.
One binary on a $5 VPS, bare metal, Windows, or Kubernetes. No CDN tax.
HTTP/2 & TLS, routing, brotli/gzip, image optimization, the ISR cache, static files, and middleware - compiled, zero-GC, microsecond overhead.
renderToReadableStream, getServerSideProps, and the entire npm ecosystem. Node is reached only on a cache-missed dynamic render.
No CDN tax. No vendor lock-in. Just a binary and the React you already write.