
rocket is closer to Django from Python or Symphony from PHP: a stable and solid core with a set of high-quality in-tree components to fulfill your every day needs when building a solid web application.You are in charge of structuring your API as you deem appropriate, bringing all the necessary crates and patterns into the picture actix-web, tide and warp are closer in spirit to Flask from Python or Express from Javascript - they might be opinionated, but they do not ship a configuration management system or an ORM integration out of the box.We can compare them to frameworks available in other ecosystems: Postgres, Redis, Memcache, etc.) as well as its own configuration system in rocket-contrib, an ancillary crate hosted in rocket's own repository. It should not come as a surprise then that rocket ships an easy-to-use integration to manage connection pools for several popular database (e.g. Rocket takes a different approach - it aims to be batteries-included: the most common needs should be covered by functionality provided out-of-the-box by rocket itself, with hooks for you to extend rocket if your usecase needs it. ComprehensivenessĪctix-web, tide and warp are slim web frameworks: they offer you an HTTP web server, routing logic, middleware infrastructure and basic building blocks and abstractions to parse, manipulate and respond to HTTP requests.
.jpg)
Worth remarking that there are no absolutes: different circumstances (and taste) might lead you to a different pick.

I will in the end make my recommendation. Sync vs Async, as well as their choice of futures runtime.I will break down where each of those web frameworks stands when it comes to:


Which one should you pick if you are about to start building a new production-ready API in Rust? You can get a copy of the book on .Īs of July 2020, the main web frameworks in the Rust ecosystem are: This article is a spin-off from Zero To Production In Rust, a book on web development in Rust. A learning journal Choosing a Rust web framework, 2020 edition
