16 releases
new 0.2.1 | Dec 5, 2024 |
---|---|
0.2.0 | Dec 1, 2024 |
0.1.15 | Nov 29, 2024 |
0.1.3 | Oct 22, 2024 |
#1822 in Web programming
1,690 downloads per month
Used in 2 crates
595KB
13K
SLoC
Rwf β Rust Web Framework
Rwf is a comprehensive framework for building web applications in Rust. Written using the classic MVC pattern (model-view-controller), Rwf comes standard with everything you need to easily build fast and secure web apps.
Documentation
π The documentation is available here.
Features overview
- β HTTP server
- β User-friendly ORM to build PostgreSQL queries easily
- β Dynamic templates
- β Authentication & built-in user sessions
- β Middleware
- β Background jobs and scheduled jobs
- β Database migrations
- β Built-in REST framework with JSON serialization
- β WebSockets support
- β Static files hosting
- β Tight integration with Hotwired Turbo for building backend-driven SPAs
- β Environment-specific configuration
- β Logging and metrics
- β CLI
- β WSGI server for migrating from Django/Flask apps
- β Rack server for migrating from Rails
Quick start
To add Rwf to your stack, create a Rust binary application and add rwf
to your dependencies:
cargo add rwf
Building an app is then as simple as:
use rwf::prelude::*;
use rwf::http::Server;
#[controller]
async fn index() -> Response {
Response::new().html("<h1>Welcome to Rwf!</h1>")
}
#[tokio::main]
async fn main() {
Server::new(vec![
route!("/" => index),
])
.launch()
.await
.unwrap();
}
Examples
See examples for common use cases.
π¦ Status π¦
Rwf is in beta and looking for early adopters. Most features are in a good state and documentation is usable.
π§ Contributions
Contributions are welcome. Please see CONTRIBUTING for guidelines, ARCHITECTURE for a tour of the code, and ROADMAP for a non-exhaustive list of desired features.
Dependencies
~13β27MB
~429K SLoC