Note ! 本記事は公開から1年以上経過しています。本記事の手順・画面・バージョン表記・外部リンクなどは、公開時点のものです。ソフトウェアの更新・API変更・UIの改定などにより、現在は当てはまらない・再現しない場合があります。実機での作業や契約・課金に関わる内容は、必ず各公式の最新情報で確認してください。

AIで作った凄い!という記事にうんざりしていることでしょう。本記事も同じ趣旨ですが、Rustでミニアプリを作りたい人は参考にどうぞ。便利なミニツールが作れて重宝しますよ。 OpenAIのo1登場以降AIが素晴らしく偽プログラマーが大量に登場しております。

そのような偽プログラマーの1人ですが、今日はRustでミニアプリを作ってみましょう。

AIはdeepseekなり好きなものを使いましょう。

o1が安定でしょうね。

Ubuntu環境でもよいですが、結局のところ偽プログラマーとしてはWindowsが簡単でよいです。

Rustとはなんでしょうか。Pythonを例に考えてみましょう。Pythonはインタプリタ型言語のためコードを一行ずつ読み取ってその場で実行します。コードを書いてすぐに結果を確認できる利点がありますが、毎回コードを解釈しながら実行するため処理速度が遅くなります。 Rustはコンパイル型言語であり、コードを事前にコンパイルして実行可能なバイナリを生成します。

直接機械語に変換されるため、実行速度が速く、メモリ使用効率も高いです。

またRustはコンパイル時に型チェックが行われるため、型に関連するエラーを早期に発見できます。

そのためAIに作ってもらうなら、エラーがビルド時に表示されるほうが修正しやすいでしょう。

プロジェクトの要件や目的に応じて、PythonとRustを適切に選択することが重要です。

AIによるRust解説は以下です。

Rustはメモリ安全性・並行性・パフォーマンスを兼ね備えたシステムプログラミング言語です。ガベージコレクション不要でメモリ管理をコンパイル時に保証し、ダングリングポインタやデータ競合を未然に防ぎます。C/C++に匹敵する高速性を持ちつつ、安全な並行処理を実現します。 クロスプラットフォーム対応でOS開発からWebAssembly、ネットワークサービスまで幅広く活用され、ツールチェーン(Cargo/rustup)や活発なエコシステム(crates.io)も強みです。信頼性が求められるシステムやセキュリティクリティカルな領域で優れています。 CargoはRustの公式ビルドシステム兼パッケージマネージャーです。プロジェクトのビルド、テスト、実行を一元管理し、依存関係をCargo.tomlに記述して自動解決します。cargo newでプロジェクトを作成し、cargo buildやcargo runでビルド・実行が可能です。また、cargo testでテストを実行し、cargo docでドキュメントを生成します。crates.ioと連携し、ライブラリの公開・利用もサポート。Rust開発を効率化する必須ツールです。

RustをWindowsにインストール

以下からインストーラーをダウンロードします。DLの直リンクです。 https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe 指示通り進めてインストール完了です。ああ簡単。PoweShellを開いてrustc --versionと入力してバージョンが返ってくればインストール完了です。 電卓ミニアプリでも作ってみましょう。「cargo new」でプロジェクトの基礎ファイルを自動でつくってくれます。便利!!cargo new dentaku 自動でこのようなファイルが作られます。Cargo.tomlとsrcにあるmain.rsが重要なファイルです。 Cargo.tomlはこんなファイルです。Cargo.tomlにはアプリ名やライブラリの読み込みや依存関係を整理してくれます。AIに作りたいアプリの概要を伝えて、Cargo.tomlの内容をコピーペーストすればOKです。 main.rsにはプログラム本体を書きます。簡単ですね。 先ほどのcargo new dentakuで dentakuフォルダーが出来ているのでcdで移動して、cargo runを実行します。いわゆるコンパイルです。 コンパイルすると、だいたいエラーが出ます。10回ぐらいエラーが出るぐらいの気持ちでゆきましょう。このエラーをコピーして、AIに質問します。そうするとAIがエラーを見て修正したコードを出してくれます。 ビルドが成功しました。電卓アプリの完成です。まずシンプルに動作させるようにしましょう。動いてから改良してゆきます。 アプリのアイデアをひねりだしましょう。電卓に計算履歴の機能をつけてみましょう。AIへ機能のリクエストをするだけです。書き出されたコードをコピペ―してビルドします。計算履歴が付きました。セーブしてロードして保存もできます。 バグやレイアウトなどいろいろ修正して完成です。 完成したらcargo run --releaseをします。このcargo run --releaseの意味を説明します。 Deepseekに質問してみます。Deepseekは、思考途中が見れるのでおもしろいです。

ユーザーが「cargo run --releaseってなんですか」と質問してきました。まず、このコマンドの基本的な意味を理解する必要があります。CargoはRustのビルドシステム兼パッケージマネージャーなので、cargo runはプロジェクトの実行を担当します。--releaseオプションが付いているので、リリースビルドに関連していると推測できます。 次に、ユーザーの背景を考えます。前回の会話でRustのインストール方法を尋ねていたので、Rust初心者である可能性が高いです。そのため、専門用語を避けつつ、分かりやすく説明する必要があります。 「--release」フラグの役割を説明する際には、デバッグビルドとの違いを明確にします。最適化やコンパイル時間とのトレードオフについて触れるべきです。また、リリースビルドの出力先(target/releaseディレクトリ)にも言及すると良いでしょう。 ユーザーが実際にこのコマンドを使うシナリオを想定し、例を挙げながら説明することで理解を深められます。例えば、プログラムの実行速度を上げたい場合や、最終的な配布用バイナリを作成する場合などが挙げられます。 さらに、関連するコマンドとしてcargo build --releaseとの違いについても説明が必要です。runがビルド後に実行するのに対し、buildはビルドのみを行う点を明確にします。 ユーザーがエラーに遭遇した場合のヒントも提供すると親切です。例えば、依存関係の問題やビルドエラーの対処法を簡単に述べます。 全体的に、簡潔で分かりやすい表現を心がけ、必要に応じて箇条書きやコード例を使用します。これにより、初心者でも理解しやすい回答を目指します。

初心者でも理解しやすい回答を見てみましょう。

cargo run --release は、Rustプロジェクトをリリースモードでビルドし実行するためのコマンドです。デバッグ用の情報を省略し、コードを最大限に最適化します実行ファイルの速度が向上します代わりにコンパイル時間が長くなります。

ということで、リリースビルドするとデバック情報など簡略化された高速な実行ファイルが書き出されるのです。※exeファイルは野良アプリと一緒なのでたまにセキュリティに引っ掛かり起動しなくなったります。 この実行ファイルをクリックすれば、作ったアプリを起動できます。 このようにAIを使えば、自分性能のアプリが作れてしまうのです。私も10個ぐらいアプリを作りましてとても便利に使っています。Blenderのアドオン、Wordpressのプラグインも作れました。

関連記事