Rocket یک فریم ورک وب برای زبان برنامه نویسی Rust است که به توسعه دهندگان کمک می کند تا به راحتی برنامه های Backend قدرتمند و امن ایجاد کنند. Rust به دلیل سرعت بالا، مدیریت حافظه و امنیت، یک انتخاب عالی برای توسعه Backend محسوب می شود. Rocket این قدرت Rust را با یک API ساده و کارآمد ترکیب می کند.
در اینجا دلایلی آورده شده است که چرا باید از Rocket برای توسعه Backend خود استفاده کنید:
برای شروع کار با Rocket، ابتدا باید Rust را نصب کنید. اگر Rust را نصب ندارید، می توانید آن را از وب سایت Rust دانلود و نصب کنید.
پس از نصب Rust، می توانید Rocket را با استفاده از Cargo، مدیریت بسته Rust، نصب کنید. برای این کار، دستور زیر را در ترمینال خود اجرا کنید:
cargo new rocket-backend
cd rocket-backend
cargo add rocket --features macros
این دستور یک پروژه جدید Rust با نام `rocket-backend` ایجاد می کند و Rocket را به عنوان یک وابستگی به پروژه اضافه می کند. `--features macros` برای فعال کردن استفاده از ماکروها در Rocket است که برای تعریف routeها و هندلرها ضروری است.
حالا یک فایل به نام `src/main.rs` ایجاد کنید و کد زیر را در آن قرار دهید:
#[macro_use] extern crate rocket;
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
#[launch]
fn rocket() -> _ {
rocket::build().mount("/", routes![index])
}
این کد یک برنامه ساده Rocket است که یک route به نام `/` تعریف می کند. هنگامی که کاربر به این route مراجعه می کند، پیام "Hello, world!" نمایش داده می شود.
برای اجرای برنامه، دستور زیر را در ترمینال خود اجرا کنید:
cargo run
حالا می توانید به آدرس http://localhost:8000/ در مرورگر خود مراجعه کنید و پیام "Hello, world!" را مشاهده کنید.
Rocket از چند مفهوم کلیدی استفاده می کند که باید با آنها آشنا باشید:
حالا بیایید چند مثال پیشرفته تر را بررسی کنیم:
برای دریافت داده از کاربر، می توانید از فرم ها یا داده های JSON استفاده کنید. در اینجا یک مثال از دریافت داده از یک فرم آورده شده است:
#[macro_use] extern crate rocket;
use rocket::form::{Form, FromForm};
#[derive(FromForm)]
struct Task {
description: String,
}
#[post("/tasks", data = "")]
fn new_task(task: Form) -> String {
format!("New task: {}", task.description)
}
#[launch]
fn rocket() -> _ {
rocket::build().mount("/", routes![new_task])
}
این کد یک route به نام `/tasks` تعریف می کند که داده ها را از یک فرم دریافت می کند. فرم شامل یک فیلد به نام `description` است. هنگامی که کاربر فرم را ارسال می کند، هندلر `new_task` اجرا می شود و مقدار فیلد `description` را نمایش می دهد.
برای کار با پایگاه داده در Rocket، می توانید از کتابخانه هایی مانند Diesel یا SeaORM استفاده کنید. در اینجا یک مثال از استفاده از Diesel آورده شده است:
(این بخش به دلیل پیچیدگی و حجم کد مورد نیاز، به صورت خلاصه ارائه می شود. برای اطلاعات بیشتر به مستندات Diesel مراجعه کنید.)
ابتدا باید Diesel را به عنوان یک وابستگی به پروژه خود اضافه کنید:
cargo add diesel --features postgres
cargo add dotenv
سپس باید یک فایل به نام `.env` در ریشه پروژه خود ایجاد کنید و اطلاعات اتصال به پایگاه داده خود را در آن قرار دهید:
DATABASE_URL=postgres://user:password@localhost/database_name
سپس می توانید از Diesel برای تعریف مدل ها و انجام عملیات پایگاه داده استفاده کنید.
در اینجا چند نکته و بهترین روش برای توسعه Backend با Rocket آورده شده است:
امیدواریم این آموزش به شما کمک کرده باشد تا با Rocket.rs آشنا شوید و بتوانید از آن برای توسعه Backend خود استفاده کنید. اگر نیاز به کمک بیشتری در زمینه سئو و توسعه Backend دارید، با ما تماس بگیرید.