「TAURI」をはじめる前に -「Rust」の基礎と開発環境の構築

2023年9月1日(金)
大西 武 (オオニシ タケシ)
本連載では、オープンソースのデスクトップRustアプリフレームワーク「TAURI」について解説していきます。第1回の今回は「Rust」の概要やインストール方法、ビルドと実行方法を紹介します。

Rustで開発をする作業手順の説明

RustをVisual Studio Codeで開発するには、図13のように大体1〜3の作業を繰り返します。

図13:開発作業の説明

  1. ファイル階層構造の「エクスプローラー」ペインで見たいファイルを開きます。
  2. 「編集」ペインでソースコードをコーディングします。
  3. 「ターミナル」ペインで「cargo」などのコマンドを実行します。

Rustのサンプルコードを実行してみる

それでは、Rustでプログラミングを始めていきましょう。まずはプロジェクトの作成と同時に作られるデフォルトのサンプルを実行してみます。

  1. まず「ドキュメント」フォルダーなどに「Rust」というフォルダーを作成します。Visual Studio Codeを起動して図14のように「ファイル」→「フォルダーを開く」メニューを実行し、ファイルダイアログで作成した「Rust」フォルダーを選び[フォルダーを選択]ボタンをクリックします。すると、開いたフォルダーがカレントディレクトリになります。

    図14:「ファイル」→「フォルダーを開く」

  2. 図15のように「表示」→「ターミナル」メニューで「ターミナル」を開きます。ターミナルは、Windowsでいう「コマンドプロンプト」のようなものです。次のコマンドを実行して、新しいRustプロジェクトを作成します。「cargo」はプロジェクトを管理したりビルドしたりするマネジメントシステムのようなものです。「new」で「src-tauri」という名前のプロジェクトを新規作成します。このようなプロジェクト名を付けたのは、次回のTAURIでRustのプロジェクトが格納されるフォルダー名と同じにして理解しやすくしようと思ったからです。

    図15:「ターミナル」を開く

    $ cargo new src-tauri
  3. また、1のように「ファイル」→「フォルダーを開く」メニューで、今度は新規作成された「src-tauri」フォルダーを開きます。
  4. ターミナルで次のコマンドを実行します。「cargo run」はプロジェクトを「デバッグ」ビルドして成功すれば実行します。
    $ cargo run
  5. ここで実行されたプログラムは「ターミナル」に「Hello, world!」と表示されるだけのお決まりのサンプルです。
    PS C:¥Users¥Vexil¥Documents¥Rust¥src-tauri > cargo run
       Compiling src-tauri v0.1.0 (C:¥Users¥Vexil¥Documents¥Rust¥src-tauri)      
        Finished dev [unoptimized + debuginfo] target(s) in 0.92s
         Running `target¥debug¥src-tauri.exe`
    Hello, world!
  6. この他にもリリースビルドするには、次のコマンドを使います。
    $ cargo build --release

これで、ひと通りプロジェクトの実行方法を説明しました。

Rustのサンプルプロジェクトを見ていこう

「src-tauri」プロジェクトの構成図は次のようになります。「debug」フォルダーと「release」フォルダーにあるファイルやフォルダーについては割愛します。

src-tauriフォルダー(プロジェクト)
┣srcフォルダー(ソースが入っている)
┃┗main.rs(メインのrsファイル)
┣targetフォルダー(ビルドしたファイルやフォルダーが入る)
┃┣debugフォルダー(デバッグビルドしたファイルやフォルダーが入る)
┃┣releaseフォルダー(リリースビルドしたファイルやフォルダーが入る)
┃┣.rustc_info.json
┃┗CACHEDIR.TAG
┣.gitignore(Gitで無視するファイルやフォルダーを記述)
┣Cargo.lock(このプロジェクトで使われる情報やファイルなどを列挙)
┗Cargo.toml(このプロジェクトの設定ファイル)

サンプルコードを見ていく

「main.rs」ファイルには、次のサンプルコードだけが書かれています。ビルドして実行すると、最初に「main.rs」ファイルが実行されます。たった3行ですが、サンプルコードの中身を見てみましょう。

当たり前のことですが、rsファイルをコーディングして書き換えた場合は「ファイル」→「保存」メニューで上書き保存することを忘れないようにしてください。

fn main() {
    println!("Hello, world!");
}

「fn」は「関数」を宣言します。「main」が関数名です。main関数は、src-tauri.exeが実行されると最初に呼ばれる関数です。「{」〜「}」までがmain関数の範囲です。main関数が呼ばれたら、この範囲が上から順に実行されます。

「println!」はターミナルに1行の文字列を表示する「マクロ」です。マクロは関数に似ていますが、関数やマクロなどの文法については後の回で解説します。

おわりに

連載第1回の今回は、簡単にRustとTAURIについて解説し、Rustの開発環境を構築しました。Rustの実行方法やプロジェクトの作成については次回以降も行なっていくので、操作に慣れておくようにしてください。

著者
大西 武 (オオニシ タケシ)
1975年香川県生まれ。大阪大学経済学部経営学科中退。プログラミング入門書など30冊以上を商業出版。Microsoftで大賞やNTTドコモでグランプリなど20回以上全国区のコンテストに入賞。オリジナルの間違い探し「3Dクイズ」が全国放送のTVで約10回出題。

連載バックナンバー

開発言語技術解説
第14回

「TAURI」で気象庁の「CSVデータ」を解析する

2024/5/1
第14回の今回は気象庁のWebサイトから指定した地域の1年間の気象データをダウンロードして「TAURI」で解析していきます。
開発言語技術解説
第13回

「TAURI」で「簡易RSSリーダー」を開発してみよう

2024/4/16
第13回の今回は「TAURI」で「RSSフィード」を読み込んでWebページに一覧表示し、リンクのページを開くための新規ウィンドウを作成するところまでを解説します。
開発言語技術解説
第12回

「TAURI」でExcelのデータを読み書きしてWebページに表示してみよう

2024/4/2
第12回の今回は「TAURI」で「Rust」の「umya-spreadsheet」クレートを使って「Excel」の「xlsx」ファイルを読み書きし、Webページに表示するところまでを解説します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています