47 releases (11 breaking)
new 0.11.2 | Nov 5, 2024 |
---|---|
0.10.4 | Oct 17, 2024 |
0.8.3 | Jul 27, 2024 |
#2217 in Web programming
871 downloads per month
42KB
823 lines
Documentation | Tutorial | ✨Contributing
Tuono
Tuono is the fastest React framework out there
Tuono (Italian word for "thunder", pronounced /2 Oh No/). Why Tuono? Just a badass name.
Some of its features are:
- 🟦 Native Typescript
- 🌐 NextJs like Routing
- 🍭 CSS/SCSS modules
- 🧬 Server Side Rendering
- 🔥 Hot Module Reload
📖 Documentation
The documentation is available on tuono.dev.
Introduction
NodeJs/Deno/Bun are the only runtimes that allow a React app to be full-stack right? (no)
Tuono is a full-stack React framework with the server side written in Rust. 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 the 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.
Getting started
As already mentioned above, I strongly suggest you take a look at the tutorial.
Tuono is the CLI that provides all the needed commands to handle the full-stack project. To download it is required cargo, which is the rust package manager.
Then run cargo install tuono
.
To list all the available commands, run tuono -h
To create a new project, run tuono new [NAME]
(optionally, you can pass the --template
(or -t
) flag - check the
examples folder).
Then, to run the local development environment, run it inside the project folder tuono dev
Finally, when the project is ready to be deployed, just run tuono build
to create the final React assets
and to set the server project in production
mode.
Now to execute it just run cargo run --release
.
Contributing
Any help or suggestion will be appreciated and encouraged. Check the ✨Contributing page
License
This project is licensed under the MIT License.
Dependencies
~92MB
~2M SLoC