Tuono
Overview
Tuono is a full-stack web framework for building React applications using Rust as the backend with a strong focus on usability and performance.
Tuono (Italian word for "thunder", pronounced /2 Oh No/). Why Tuono? Just a badass name.
If you have experience with Next.js you will feel home here.
Features
- 🟦 Native Typescript
- 🌐 Next.js like Routing
- 🍭 CSS/SCSS modules
- 🧬 Server Side Rendering
- 🔥 Hot Module Reload
Introduction
Tuono addresses the following two limits:
- Enable React server-side rendering projects without using JS runtimes (Node, Deno)
- Ease the web development using a typically hard language like Rust.
NodeJs/Deno/Bun are the only runtimes that allow a React app to be server-side rendered (SSR)? (no)
Tuono is the first full-stack React framework with the server side written in Rust (check the ssr-rs crate). Because of this, Tuono is extremely fast, and the requests are handled by a multithreaded Rust server. React is still React - it is just superpowered.
Rust is a hard language, then writing server side code is hard as well, right? (no again)
Tuono provides a collection of utilities to handle server-side code seamlessly with
the React code. Each server side route is managed in a separate file alongside the React route.
The routing is handled by Tuono based on the files defined within the ./src/routes
directory.
How is Tuono different from Next.js?
The Tuono API tries to stick as much as possible to the Next.js one (or at least takes a huge inspiration from it). The major difference is the backend system. While Next.js relies entirely on Node/Deno/Bun, Tuono runs the server without any intermediary runtime. This enables impressive performance improvements (check the benchmarks here).