Quotidien Shaarli
April 11, 2025
La scène est bien faite sans être extraordinaire. C'est similaire à ce que je dénonce comme dérive à gauche (si tant est qu'une telle chose existe) :
Sous le prétexte de lutter contre les fascistes, les antifas auto-proclamés, harcèlent, menacent, musèlent et agressent leurs opposants politiques, c'est-à-dire ceux qui ne partagent pas leurs idées, à l'instar de ce qu'ont fait tous les fascistes de l'histoire.
C'est tellement plus facile et légitime de commettre des atrocités quand c'est l'autre qu'on accuse d'être le méchant. #ExpérienceDeMilgram
Historiquement, pour un serveur web performant en Rust j'utilisais Actix. J'en avais parlé ici et comme je le soulignais dans le poste, Actix est orienté annotation-driven-bullshit.
Mon besoin n'a pas changé, je veux du code explicite, WYSIWYG, sans macro/processor. Et depuis quelques temps je lorgnais du côté de Xitca qui prend littéralement Actix à revers en utilisant les mêmes couches sous-jacentes mais en virant le côté annotation-driven-bullshit.
Exemple
use xitca_web::{handler::handler_service, middleware::Logger, route::get, App};
async fn index() -> &'static str {
"Hello world!!"
}
fn main() -> std::io::Result<()> {
App::new()
.at("/", get(handler_service(index)))
.enclosed(Logger::new())
.serve()
.bind("localhost:8080")?
.run()
.wait()
}
Nous sommes très proche de Kooby en Kotlin, Jooby en Java, Flask en Python ou Sinatra en Ruby et c'est exactement ce que je recherche car cela veut dire que l'on peut décorer l'API afin de rendre le framework invisible du point de vue du code.
Merci à la communauté derrière Xitca <3