Re:Feather: Feather: A web framework that skips Rust's async...
by gfs on Sunday May 04, 2025 @03:05PM
(#43888710)
Reading the latest stable documentation [0], it appears that you have to use async?
[0]: https://rocket.rs/guide/v0.5/upgrading/#stable-and-async-sup...
Re:Feather: Feather: A web framework that skips Rust's async...
by Qwuke on Sunday May 04, 2025 @03:14PM
(#43888768)
Sorry, so you can use synchronous functions for writing middleware and routes, but the rocket core does use tokio.
Not all async Rust webframeworks let you do away with async and futures entirely in your business logic.
Re:Feather: Feather: A web framework that skips Rust's async...
by gfs on Sunday May 04, 2025 @03:16PM
(#43888791)
So the caveat is you need to call `spawn_blocking` with synchronous functions. I see.
Re:Feather: Feather: A web framework that skips Rust's async...
by Qwuke on Sunday May 04, 2025 @03:23PM
(#43888856)
With a framework like Axum, yes, but with Rocket, no - you can just declare synchronous functions and pass them as a route handler, e.g.: https://github.com/Qwuke/recurse-ring/blob/main/src/main.rs#...
If you're averse to touching async fn's or tokio APIs _at all_, it's nice devex.
Feather seems fundamentally single threaded and requires more boilerplate for something pretty simple. So I'm not sure the claim about developer experience holds up to scrutiny here either.