Show HN: Rust Web Framework
Overview & Initial Reception
- Many commenters are excited to see a Rails/Django‑style, batteries‑included framework in Rust and praise the ambition.
- Others are cautiously optimistic, saying they’ll “keep an eye on it” or prototype with it, but note it’s early.
- Some worry about long‑term maintenance, especially of an in‑framework ORM and template engine.
Rust Web Ecosystem & “Missing Rails”
- Multiple people argue existing Rust frameworks (Axum, Actix, Rocket, etc.) are closer to Flask/Express: great for services, not full “Rails/Django” replacements.
- Others question whether a heavy framework is even needed, pointing to Go‑style “stdlib + small libs” approaches.
- Loco.rs is often mentioned as another Rails‑like Rust framework; people are curious how Rwf compares.
MVC, Models, and Service Layers
- Extensive debate on where business logic should live:
- One camp: “fat models, skinny controllers” and rich domain models; warns against anemic models and scattered service objects.
- Another camp: prefers business logic in services or domain entities separate from ORM models; views data‑oriented or functional styles as cleaner and more testable.
- Broad agreement that ORM callbacks/signals can be powerful but hard to reason about and debug.
ORM, Templates, and DSL Choices
- Some question why the framework ships its own ORM and template language instead of reusing Diesel/sqlx and existing template engines.
- The author argues Diesel is too rigid and “Rust‑heavy” and that a Rails‑like, more flexible ORM is the goal.
- Custom template language is defended as ERB‑like and simple, though others raise concerns about tooling, migration effort, and subtle syntax differences affecting security.
APIs, REST, and OpenAPI
- Several expect automatic OpenAPI/Swagger generation, comparing to FastAPI and other Rust frameworks that support it.
- Some note the framework currently returns HTTP 501 for unimplemented REST methods; others argue 405 would be more conventional and semantically accurate.
Python/Django Migration & WSGI Integration
- The WSGI integration and migration path from Django/WSGI apps impresses people technically.
- SRE‑minded commenters are nervous about people running this in production without a reverse proxy and stress documenting safe deployment patterns.
Rust vs Other Backend Languages
- Some see Rust as overkill for typical web backends; Go, Java, C#, or Python are viewed as faster to develop and “fast enough” at runtime.
- Others value Rust’s safety, tooling, and type system, but acknowledge the learning curve and refactor friction.