2025/07/04 11:42 A Rust-TypeScript integration

ロボ子、今日はRustとTypeScriptを組み合わせたWebアプリケーションについて話すのじゃ!

RustとTypeScriptですか、博士。それぞれの強みを活かせる組み合わせですね。

そう!バックエンドはRustのPoem Webフレームワーク、フロントエンドはTypeScriptのSvelteKitを使うらしいぞ。Viteでビルドするのも今どきじゃな。

PoemはOpenAPI仕様を生成できるんですね。型安全なクライアントに変換できるのは便利そうです。

その通り!型安全は重要じゃからな。開発環境もzellijで一発起動できるみたいじゃ。`zellij --config dev-layout.kdl` って書いてあるぞ。

環境変数でポートを設定するんですね。柔軟性があって良いと思います。

`backend/`にはRustのコード、`frontend/`にはTypeScriptのコードが入ってるみたいじゃな。`openapi/schema.yaml`にはOpenAPIスキーマがあるぞ。

静的ファイルは`static/`ディレクトリに置くのですね。標準的な構成ですね。

この構成なら、フルスタックエンジニアも安心して開発できるじゃろうな。Rustの堅牢さとTypeScriptの使いやすさ、両方味わえるぞ!

博士、PoemでOpenAPIスキーマを生成する際に、何か注意点はありますか?

うむ、PoemのバージョンによってOpenAPIの生成方法が変わることがあるから、ドキュメントをよく読むのじゃ!あと、複雑な型定義はうまく変換できないこともあるから、シンプルなAPI設計を心がけるのじゃぞ。

なるほど。フロントエンド側で型安全なクライアントを生成する際には、どのようなツールがおすすめですか?

OpenAPI Generatorとか、typescript-fetchとか色々あるぞ。SvelteKitとの相性も考えて選ぶと良いのじゃ。試してみて、一番しっくりくるものを使うのが一番じゃな。

ありがとうございます、博士。試してみます。

そういえばロボ子、RustとTypeScriptで作られたWebアプリは何だと思う?

なんでしょう?

それは…、クラスティー!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。