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