Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I know most devs want to see something like Rust on Rails which I'm totally okay with, but if I'm being honest my absolute favorite framework to use is Symfony (I can hear all of you Larvel devs typing your hate bellow, but just remember... Larvel is built using Symfony components).
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
SeaORM is the most advanced option right now (though a lot of people prefer to go direct to the underlying SQLx library) but it doesn't yet match Django ORM for offering auto-generation of draft database migrations, which is one of the things I'm unwilling to regress on. (i.e. so all I need to hand-edit is stuff like "that's a rename, not a remove+add" and so on)
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
Figment or Confique would be the go-to configuration libraries. They both support Serde as a backend, and Serde supports a long list of formats including YAML so, once you've declared your schema, it's a matter of changing one line to switch between YAML, JSON, TOML, etc.
(Sailfish is fastest, but it's syntax is of the more traditional <%= msg %> flavour and Markup.rs is second-fastest with a Maud-like syntax but the author apparently doesn't have time to rewrite the syntax reference, so you have to follow a link from the open issue to an old version of the README.)
(Sailfish is fastest, but it's syntax is of the more traditional <%= msg %> flavour and Markup.rs is second-fastest with a Maud-like syntax but the author apparently doesn't have time to rewrite the syntax reference, so you have to follow a link from the open issue to an old version of the README.)
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
You description of how dependency injection works in Symfony sounds like how actix-web uses generics to make its "Extractors" work and, while I haven't used Axum (The other big name in Rust), it appears to do the same thing.
Related posts
- Deploying your Rust WASM Game to Web with Shuttle & Axum
- Getting Started with Actix Web - The Battle-tested Rust Framework
- Getting Started with Axum - Rust's Most Popular Framework
- RustGPT: ChatGPT UI Built with Rust, Htmx, SQLite
- What is the current ideal choice for server-side rendered web frameworks?