Rocket
tokio
Rocket | tokio | |
---|---|---|
164 | 222 | |
25,228 | 28,847 | |
0.5% | 1.4% | |
7.6 | 9.5 | |
about 2 months ago | 6 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Rocket
-
Exploring the top Rust web frameworks
Rocket has evolved into a highly usable, performant framework with active development and over 25k GitHub stars. Here is a simple example of a Rocket server that takes two query parameters and returns a Happy Birthday message:
-
Best Backend Frameworks for 2025: A Developer's Guide to Making the Right Choice
Rocket: Rust's Type-Safe API Builder
-
Rusty Backends
To find answers, we wanted to get our hands dirty with three popular Rust web frameworks including rocket, axum, and actix, and get a feeling for their performance, features, and most importantly the developer experience.
-
How to Set Up a Local Docker Environment with Rust and Rocket
In this post, we'll explore how to set up a local development environment for a Rust web application using the Rocket framework and Docker. The setup includes automatic recompilation and logging whenever you update your code. Here's how it works, step by step.
-
Rocket.rs lightspeed web server
Today we talk about Rocket.rs, a web framework that uses Rust as a backend language. 🚀
-
Rust needs a web framework for lazy developers
I was surprised not to see Rocket (https://rocket.rs/) mentioned among the frameworks the author listed; I haven’t used it myself because I _like_ the more unopinionated axum/actix-web, but as I understand it its goals are much more in the vein of what the author wants in a batteries-included framework.
-
Sponsoring the Rust-based Rocket Web framework
At the bottom of the Rocket web site there are a few sponsors listed Kindness.ai, ohne Makler, 1Password, Signal Insight, and Edwin Olback. There are more sponsors on GitHub sponsors page
-
Top 10 Rusty Repositories for you to start your Open Source Journey
4. Rocket
-
What is the best library to write a SCADA-like application for web?
If you want something simpler/more minimal, you could use https://rocket.rs/ for the backend and handle the front-end however you want.
- Rocket – Simple, Fast, Type-Safe Web Framework for Rust
tokio
-
Why doesn't Rust care more about compiler performance?
docs.rs is just barely viable because it only has to build crates once (for one set of features, one target platform etc.).
What you propose would 1) have to build each create for at least the 8 Tier 1 targets, if not also the 91 Tier 2 targets. That would be either 8 or 99 binaries already.
Then consider that it's difficult to anticipate which feature combinations a user will need. For example, the tokio crate has 14 features [1]. Any combination of 14 different features gives 2^14 = 16384 possible configurations that would all need to be built. Now to be fair, these feature choices are not completely independent, e.g. the "full" feature selects a bunch of other features. Taking these options out, I'm guessing that we will end up with (ballpark) 5000 reasonable configurations. Multiply that by the number of build targets, and we will need to build either 40000 (Tier 1 only) or 495000 binaries for just this one crate.
Now consider on top that the interface of dependency crates can change between versions, so the tokio crate would either have to pin exact dependency versions (which would be DLL hell and therefore version locking is not commonly used for Rust libraries) or otherwise we need to build the tokio crate separately for each dependency version change that is ABI-incompatible somewhere. But even without that, storing tens of thousands of compiled variants is very clearly untenable.
Rust has very clearly chosen the path of "pay only for what you use", which is why all these library features exist in the first place. But because they do, offering prebuilt artifacts is not viable at scale.
[1] https://github.com/tokio-rs/tokio/blob/master/tokio/Cargo.to...
-
A Journey From JS To Rust
Currently, the de facto standard async runtime is tokio. Beginners can just use tokio without much thought.
-
Exploring the top Rust web frameworks
Gotham is a flexible web framework built for stable Rust that promotes “stability, safety, security, and speed.” It provides async support with the help of Tokio and hyper out of the box.
-
Building a simple Kubernetes Controller in Rust - Part 1
Because of the nature of Kubernetes and its operation being "network operations", kube-rs considers all the operations as "async" operations, and we need a way to manage it. The well-known and mostly used way of doing it is with the tokio framework. Adding tokio, with features of "macros" (to use macros like #[tokio::main]) and a runtime (rt-multi-thread) should be enough. Additionally, we need to return an error to this function, so we will be using anyhow crate, that allows us to return errors without worrying about the error type
- Why I'm Writing a Scheme Implementation in 2025 (The Answer Is Async Rust)
-
The Inevitability of the Borrow Checker
The situation in Rust seems to be pretty complicated. But I did find that panicking within a thread you spawn kills just that thread and not the whole program. And it seems that Tokio has the same behavior.
https://github.com/tokio-rs/tokio/issues/2002
And web frameworks like Tower provide standard ways of Helen’ handling panics and turning them into error responses.
https://docs.rs/tower-http/latest/tower_http/catch_panic/ind...
So I don’t think panics are necessarily meant to be program-killing in Rust, even if Result types are heavily recommended instead.
-
Zig; what I think after months of using it
There's compiler-level traits like `Iterator` and `Future` which enforce references. If wanting to do intrusive pointers into them, one risks creating overlapping references: https://github.com/tokio-rs/tokio/issues/3399
- Build It Yourself
-
Rusty Backends
Full Tokio compatibility
-
Rust Implementation Guide - from efficient learning to implementation
[20] Tokio - An asynchronous Rust runtime
What are some alternatives?
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
smol - A small and fast async runtime for Rust
loco - 🚂 🦀 The one-person framework for Rust for side-projects and startups
futures-rs - Zero-cost asynchronous programming in Rust
yew - Rust / Wasm framework for creating reliable and efficient web applications
async-std - Async version of the Rust standard library