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
Quick start
To add Rwf to your stack, create a Rust binary application and add rwf and tokio to your dependencies:
cargo add rwf
cargo add tokio@1 –features full
Building an app is then as simple as:
use rwf::prelude:: * ;
use rwf::http:: Server ;
#[derive( Default ) ]
struct IndexController ;
#[async_trait]
impl Controller for IndexController {
async fn handle ( & self , request : & Request ) -> Result {
Ok ( Response :: new ( ) . html ( “Hey Rwf!” ) )
}
}
#[tokio::main]
async fn main ( ) {
Server :: new ( vec ! [
route!( “/”=> IndexController ),
] )
. launch ( “0.0.0.0:8000” )
. await
. unwrap ( ) ;
}
Examples
See examples for common use cases.
🚧 Status 🚧
Rwf is in early development and not ready for production. Many features and documentation are incomplete. 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.
Information contained on this page is provided by an independent third-party content provider. This website makes no warranties or representations in connection therewith. If you are affiliated with this page and would like it removed please contact editor @pleasantgrove.business