안녕하세요!
오늘은 Rust 언어를 기반으로 한 웹 프레임워크인 Axum , Actix Web , 그리고 데스크탑 애플리케이션을 만드는 데 사용되는 Tauri 를 소개하고, 간단한 실습 예제를 통해 각 프레임워크의 특징을 살펴보겠습니다.
Rust 언어와 웹 프레임워크
Rust는 메모리 안전성과 성능을 중시하는 시스템 프로그래밍 언어입니다.
웹 개발을 위한 프레임워크들도 이러한 Rust의 장점을 살려 높은 성능과 안정성을 제공합니다.
각각의 프레임워크는 그 특성에 따라 다양한 장점과 유스케이스를 가지고 있습니다.
이제 구체적으로 각각의 프레임워크를 살펴보겠습니다.
1. Axum
Axum은 Tokio 기반의 async/await 기능을 활용하는 경량 웹 프레임워크입니다.
Axum의 가장 큰 장점은 타입 안전성 과 모듈성 입니다.
즉, 요청과 응답을 강력하게 타입 체크할 수 있고, 필요한 기능만 모듈화하여 사용할 수 있습니다.
아래는 Axum을 이용한 간단한 웹 서버 예제입니다.
use axum::{
routing::{get, Router},
response::Html,
};
use std::net::SocketAddr;
async fn root() -> Html<&'static str> {
Html("<h1>Hello, Axum!</h1>")
}
#[tokio::main]
async fn main() {
let app = Router::new().route("/", get(root));
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
println!("Listening on {}", addr);
axum::Server::bind(&addr)
.serve(app.into_make_service())
.await
.unwrap();
}
Hello, Axum!
위 코드를 실행하면, 브라우저에서
http://localhost:3000
에 접속하여 "Hello, Axum!"을 확인할 수 있습니다.
2. Actix Web
Actix Web은 Rust의 또 다른 웹 프레임워크로, 성능이 매우 뛰어난 것으로 유명합니다. Actix Web은 매우 유연한 라우팅 시스템과 강력한 비동기 처리 기능을 제공합니다.
다음은 Actix Web을 사용하여 간단한 웹 서버를 만드는 코드입니다:
use actix_web::{web, App, HttpServer, HttpResponse};
async fn index() -> HttpResponse {
HttpResponse::Ok().body("<h1>Hello, Actix Web!</h1>")
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new().route("/", web::get().to(index))
})
.bind("127.0.0.1:8080")?
.run()
.await
}
위의 코드를 통해
http://localhost:8080
에서 Actix Web 서버를 확인할 수 있으며, "Hello, Actix Web!" 메시지를 보여줍니다.
3. Tauri
Tauri는 웹 기술을 활용하여 경량화된 데스크탑 애플리케이션을 만들 수 있는 프레임워크입니다. Tauri는 Rust를 백엔드 언어로 사용하여 성능을 높이고, HTML/CSS/JavaScript를 사용하여 UI를 구성할 수 있습니다.
Tauri 애플리케이션을 생성하기 위한 초기 설정은 다음과 같습니다:
cargo install tauri-cli
tauri init
그 후,
src-tauri/src/main.rs
파일에서 아래와 같이 Tauri 애플리케이션을 설정할 수 있습니다:
use tauri::Manager;
fn main() {
tauri::Builder::default()
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
이제 여러분은 Tauri를 통해 웹 기술로 디자인한 UI를 활용한 데스크탑 애플리케이션을 만들 수 있습니다.
결론
이처럼 Axum, Actix Web, Tauri 각각의 프레임워크는 다양한 방식으로 Rust의 장점을 통해 웹 및 데스크탑 애플리케이션 개발에 기여하고 있습니다. 성능이 중요한 웹 서비스나 데스크탑 애플리케이션을 만들고자 하신다면, Rust를 고려해보시는 것도 좋은 선택이 될 것입니다.
이러한 프레임워크들이 여러분의 개발에 많은 도움이 되길 바랍니다.
'IT > Rust' 카테고리의 다른 글
Rust 언어의 조건문 소개 및 예제 (0) | 2025.03.05 |
---|---|
Rust에서의 반복문 구현 방법 (0) | 2025.03.02 |
Rust로 Hello World 예제 (0) | 2025.03.02 |
Rust로 WebAssembly(WasM) Hello, World 예제 (0) | 2025.03.01 |