Rust
の Web
アプリケーションフレームワークである Rocket
を使ってみました。
今回は Rocket
を使ってブラウザで「 Hello, world! 」を表示するところまでを説明していきたいと思います。
前提条件
rustup : 1.24.3
Rust : 1.61.0-nightly
Rocket : 0.4.10
Rocket
を使用するには事前に rustup
というインストーラをダウンロードする必要があります。 Rust
の環境構築については下記の記事を参考にしてください。
Rust nightly のインストール
Rocket
では Rust
の nightly
というバージョンを使用します。
下記のコマンドを実行して Rust nightly
をデフォルトのツールチェーンとして設定します。
$ rustup default nightly
nightly-x86_64-apple-darwin installed - rustc 1.61.0-nightly (3c17c84a3 2022-03-21)
以下のようにバージョンが確認できたらインストール成功です。
$ rustc --version
rustc 1.61.0-nightly (3c17c84a3 2022-03-21)
プロジェクトを新規作成する
以下のコマンドでプロジェクトを新規作成します。
$ cargo new hello-rocket --bin
Created binary (application) `hello-rocket` package
作成したプロジェクトのディレクトリに移動します。
$ cd hello-rocket
Cargo.toml を編集する
Cargo.toml
というファイルを以下のように編集します。
$ vim Cargo.toml
[package]
name = "hello-rocket"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rocket = "0.4.10"
ここでは dependencies
に使用するRocketのバージョンを追記しています。
main.rs を編集する
src/main.rs
を編集します。
$ vim src/main.rs
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
fn main() {
rocket::ignite().mount("/", routes![index]).launch();
}
http://localhost:8000
へアクセスしたときに「 Hello, world! 」が表示されるように編集しています。
動作確認
下記コマンドで動作確認を行います。
$ cargo run
🔧 Configured for development.
=> address: localhost
=> port: 8000
=> log: normal
=> workers: 16
=> secret key: generated
=> limits: forms = 32KiB
=> keep-alive: 5s
=> read timeout: 5s
=> write timeout: 5s
=> tls: disabled
🛰 Mounting /:
=> GET / (index)
🚀 Rocket has launched from http://localhost:8000
http://localhost:8000
へアクセスしてみます。
無事、 Hello, world! が表示されました!!
最後に
結構簡単に Hello, world! を表示させることができましたが、画面のデザインのテンプレートの適用方法やルーティング、 ORM
の使い方などまだまだ Web
アプリケーションとして動かすにはやることがいっぱいですね。
実装方法を色々調べてまた説明していきたいと思います。
コメント