ソフトウェア開発プログラミング

[Rust]Rocketを使ってみる

ソフトウェア開発
この記事は約4分で読めます。
スポンサーリンク

RustWebアプリケーションフレームワークであるRocketを使ってみました。

Rocket - Simple, Fast, Type-Safe Web Framework for Rust
Rocket is a web framework for the Rust programming language that makes it simple to write fast web applications without sacrificing flexibility or t...

今回はRocketを使ってブラウザで「Hello, world!」を表示するところまでを説明していきたいと思います。

スポンサーリンク

前提条件

rustup:1.24.3
Rust:1.61.0-nightly
Rocket:0.4.10

Rocketを使用するには事前にrustupというインストーラをダウンロードする必要があります。Rustの環境構築については下記の記事を参考にしてください。

[Rust]MacでRustをインストールする

Rust nightlyのインストール

RocketではRustnightlyというバージョンを使用します。

下記のコマンドを実行して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アプリケーションとして動かすにはやることがいっぱいですね。

実装方法を色々調べてまた説明していきたいと思います。

スポンサーリンク
スポンサーリンク
スポンサーリンク
KoEをフォローする
CodeLab

コメント

タイトルとURLをコピーしました