I've seen two frameworks consistently the most talked about: Rocket and Actix-web.
Rocket and Actix-web seem to have a positive user experience and are more complete frameworks, but Rocket (for now) uses Nightly and does not have async yet and Actix-web's maintainer recently changed.
Warp and Tide are also drumming up excitement.
Hyper—and soon async-h1—perform at a lower level and form the foundation of Warp and Tide respectively.
(More at: lib.rs/server)
Tokio, Actix and async-std bring async functionality to the frameworks. Tokio is tried and true, Actix is great but is only used for Actix-web, and async-std is the final evolution of Tokio.
(More at: lib.rs/async)
For databases interfaces, diesel ORM is the most complete and popular solution. SQLx is angling to be the most perfect and Rusty solution (async, pure Rust, most DBMS, compile time checked).
(More at: lib.rs/db)
With stability, performance, features, and learning curve in mind which is best?
Are any worth adopting yet? Why (not)?
Are they only usable for niche projects? What use cases?
Thank you for your major contribution robertorojasr!
Actix-web is the best complete framework today. It has LTS, a community, excellent performance, and a well-equipped vertical integration. However Rocket(v0.5), Warp, and Tide should quickly challenge it.
If you like using ORM solutions, diesel is ready to go. Otherwise, depending on your DB and bravery you might want to wait for/jump into SQLx or try one of the many DBMS-specific option.
There are viable comprehensive Rust solutions ready-to-go out there. You can build a speed, lightweight, simple server as an at least moderately experienced Rustacean and BE dev today with limited but meaningful granularity. For less experienced devs (like myself), Actix is the most suitable full solution, Hyper for very lightweight simple solutions, but otherwise you may run into problems with lack of documentation, shifting support, and lack of features and abstractions towards simplicity.
I will try to keep this up to date as the discussion continues. Please notify me if anything is misrepresentative or inaccurate, or to contribute to the post.