tokio VS Rocket

Compare tokio vs Rocket and see what are their differences.

tokio

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ... (by tokio-rs)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
tokio Rocket
195 155
24,231 23,178
2.7% 1.9%
9.5 8.9
7 days ago 7 days ago
Rust Rust
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

tokio

Posts with mentions or reviews of tokio. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-21.
  • I pre-released my project "json-responder" written in Rust
    11 projects | dev.to | 21 Jan 2024
    tokio / hyper / toml / serde / serde_json / json5 / console
  • Cryptoflow: Building a secure and scalable system with Axum and SvelteKit - Part 0
    12 projects | dev.to | 4 Jan 2024
    tokio - An asynchronous runtime for Rust
  • Top 10 Rusty Repositories for you to start your Open Source Journey
    11 projects | dev.to | 19 Dec 2023
    3. Tokio
  • API Gateway, Lambda, DynamoDB and Rust
    5 projects | dev.to | 5 Dec 2023
    The AWS SDK makes use of the async capabilities in the Tokio library. So when you see async in front of a fn that function is capable of executing asynchronously.
  • The More You Gno: Gno.land Monthly Updates - 6
    8 projects | /r/Gnoland | 30 Nov 2023
    Petar is also looking at implementing concurrency the way it is in Go to have a fully functional virtual machine as it is in the spec. This would likely attract more external contributors to developing the VM. One advantage of Rust is that, with the concurrency model, there is already an extensive library called Tokio which he can use. Petar stresses that this isn’t easy, but he believes it’s achievable, at least as a research topic around determinism and concurrency.
  • Consuming an SQS Event with Lambda and Rust
    7 projects | dev.to | 3 Nov 2023
    Another thing to point out is that async is a thing in Rust. I'm not going to begin to dive into this paradigm in this article, but know it's handled by the awesome Tokio framework.
  • netcrab: a networking tool
    4 projects | dev.to | 14 Oct 2023
    So I started by using Tokio, a popular async runtime. The docs and samples helped me get a simple outbound TCP connection working. The Rust async book also had a lot of good explanations, both practical and digging into the details of what a runtime does.
  • Thread-per-Core
    3 projects | news.ycombinator.com | 6 Oct 2023
    Regarding the quote:

    > The Original Sin of Rust async programming is making it multi-threaded by default. If premature optimization is the root of all evil, this is the mother of all premature optimizations, and it curses all your code with the unholy Send + 'static, or worse yet Send + Sync + 'static, which just kills all the joy of actually writing Rust.

    Agree about the melodramatic tone. I also don't think removing the Send + Sync really makes that big a difference. It's the 'static that bothers me the most. I want scoped concurrency. Something like <https://github.com/tokio-rs/tokio/issues/2596>.

    Another thing I really hate about Rust async right now is the poor instrumentation. I'm having a production problem at work right now in which some tasks just get stuck. I wish I could do the equivalent of `gdb; thread apply all bt`. Looking forward to <https://github.com/tokio-rs/tokio/issues/5638> landing at least. It exists right now but is experimental and in my experience sometimes panics. I'm actually writing a PR today to at least use the experimental version on SIGTERM to see what's going on, on the theory that if it crashes oh well, we're shutting down anyway.

    Neither of these complaints would be addressed by taking away work stealing. In fact, I could keep doing down my list, and taking away work stealing wouldn't really help with much of anything.

  • PHP-Tokio – Use any async Rust library from PHP
    7 projects | news.ycombinator.com | 27 Aug 2023
    The PHP <-> Rust bindings are provided by https://github.com/Nicelocal/ext-php-rs/ (our fork of https://github.com/davidcole1340/ext-php-rs with a bunch of UX improvements :).

    php-tokio's integrates the https://revolt.run event loop with the https://tokio.rs event loop; async functionality is provided by the two event loops, in combination with PHP fibers through revolt's suspension API (I could've directly used the PHP Fiber API to provide coroutine suspension, but it was a tad easier with revolt's suspension API (https://revolt.run/fibers), since it also handles the base case of suspension in the main fiber).

  • How should I structure a medium sized crate?
    3 projects | /r/rust | 14 Aug 2023
    For example, check out src/io/mod.rs or src/fs/mod.rs, which has a lot of re-exports. See also the standard library, e.g., src/sync/mod.rs.

Rocket

Posts with mentions or reviews of Rocket. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-19.
  • Top 10 Rusty Repositories for you to start your Open Source Journey
    11 projects | dev.to | 19 Dec 2023
    4. Rocket
  • What is the best library to write a SCADA-like application for web?
    4 projects | /r/rust | 11 Dec 2023
    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
    2 projects | news.ycombinator.com | 22 Nov 2023
  • Help required: Port kellnr from rocket.rs to axum
    2 projects | /r/rust | 6 Oct 2023
    I’m the author of https://kellnr.io. When I started working on Kellnr three years ago, https://rocket.rs was “the web framework” to use. Unfortunately, the project seems dead. Before adding more functionality using an unmaintained framework, I want to port Kellnr to https://github.com/tokio-rs/axum.
  • Crux: Cross-platform app development in Rust
    7 projects | news.ycombinator.com | 28 Sep 2023
    Or else you could of course just use https://rocket.rs/
  • Building a Rust app with Perseus
    8 projects | dev.to | 5 Jul 2023
    Rust is a popular system programming language, known for its robust memory safety features and exceptional performance. While Rust was originally a system programming language, its application has evolved. Now you can see Rust in different app platforms, mobile apps, and of course, in web apps — both in the frontend and backend, with frameworks like Rocket, Axum, and Actix making it even easier to build web applications with Rust.
  • Need recommendations for technologies, frameworks etc. for an IoT device project in Rust
    2 projects | /r/embedded | 22 Jun 2023
    I've done some research but I have to admit that creating embedded devices is a totally new subject for me, but that is the point of the project - main goal is learning, and creating something is the secondary goal, so please bear with me and my knowledge of the subject. So, for the hardware I've seen many people recommending SMT32 family devices, but I've also read that anything with the Cortex-M processor can be suitable. Need more info on that. OS is a hard choice for me because on one hand I was thinking of Ubuntu Core but the device support is not really that good I think, so other options I've found are Tock and RIOT-OS, and I am gravitating towards the latter because it's main focus is on IOT devices. I've found frameworks like Rocket.rs for a web app, tauri.app for desktop app (which might not be needed but I still like the idea). Also found Tokio.rs which apparently will help with the networking. There was a discussion from the other members about using the Golioth cloud platform with Zephyr and C++, and I don't know if there are any other alternatives for Golioth that support Rust, I've found webthings.io but I am not sure if it's an alternative, or something else actually, so I would be happy to learn more about that. Again I want to hear your recommendations regarding anything that will help creating a project like that.
  • Rust for web development
    2 projects | /r/rust | 19 Jun 2023
    I use Rocket on the backend with Postgres. Currently experimenting with Yew for the frontend.
  • Top Rust Web Frameworks: Rocket, Actix-web, Tide, Warp, and Gotham
    3 projects | dev.to | 14 Jun 2023
    Rocket, the Rust web framework, is a valuable tool for developers looking to create fast and secure web applications. Rocket, with its emphasis on simplicity and speed, provides an intuitive API that allows developers to write clean and efficient code. The framework handles common security concerns, allowing developers to focus on the logic of their application. Rocket's flexibility, combined with its emphasis on convention over configuration, makes it an excellent choice for developers looking for a dependable and productive environment for their Rust web projects
  • Is a Framework like Django possible in Rust
    4 projects | /r/rust | 6 Jun 2023
    https://rocket.rs/ ?

What are some alternatives?

When comparing tokio and Rocket you can also consider the following projects:

async-std - Async version of the Rust standard library

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper

yew - Rust / Wasm framework for creating reliable and efficient web applications

hyper - An HTTP library for Rust

rust-websocket - A WebSocket (RFC6455) library written in Rust

futures-rs - Zero-cost asynchronous programming in Rust

smol - A small and fast async runtime for Rust

Nickel - An expressjs inspired web framework for Rust

rayon - Rayon: A data parallelism library for Rust