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.