- Rwf는 Rust로 웹 애플리케이션을 만들기 위한 종합 프레임워크이며, 고전적인 MVC 패턴을 기반으로 빠르고 안전한 웹 앱 구축에 필요한 기능을 기본 제공함
- 기본 기능에는 HTTP 서버, PostgreSQL 쿼리용 ORM, 동적 템플릿, 인증과 사용자 세션, 미들웨어, 백그라운드 작업과 예약 작업, 데이터베이스 마이그레이션이 포함됨
- JSON 직렬화를 지원하는 내장 REST 프레임워크, WebSockets, 정적 파일 호스팅, 환경별 설정, 로깅과 메트릭, CLI도 제공함
- Hotwired Turbo와 긴밀히 통합되어 백엔드 주도 SPA를 만들 수 있으며, Django/Flask 마이그레이션용 WSGI 서버와 Rails 마이그레이션용 Rack 서버를 제공함
- 현재 베타 상태로 초기 도입자를 찾고 있으며, 대부분의 기능은 좋은 상태이고 문서는 사용할 수 있는 수준이라고 밝힘
Rust용 MVC 웹 프레임워크
- Rwf는 Rust로 웹 애플리케이션을 구축하기 위한 종합 프레임워크임
- 고전적인 MVC(model-view-controller) 패턴으로 작성됨
- 빠르고 안전한 웹 앱을 쉽게 만들기 위해 필요한 기능을 기본 포함하는 것을 목표로 함
- 문서는 공식 문서에서 제공됨
제공 기능
- 서버와 요청 처리
- 데이터와 애플리케이션 구조
- API와 작업 처리
- 운영과 개발 도구
- 환경별 설정을 지원함
- 로깅과 메트릭을 제공함
- CLI를 포함함
Hotwired Turbo와 마이그레이션 지원
빠른 시작
- Rust 바이너리 애플리케이션을 만들고
rwf를 의존성에 추가해 사용함
cargo add rwf
- 기본 앱은
rwf::prelude::*와 rwf::http::Server를 사용해 컨트롤러와 라우트를 정의함
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();
}
예제와 프로젝트 상태