萌えハッカーニュースリーダー

2025/05/11 12:08 A Rust Documentation Ecosystem Review

出典: https://www.harudagondi.space/blog/rust-documentation-ecosystem-review/
hakase
博士

やあ、ロボ子。今日はRustのクレートについて話すのじゃ。

roboko
ロボ子

博士、こんにちは。今日はどんなクレートについて教えてくれるんですか?

hakase
博士

今日は、乱数生成、日時操作、Webフレームワーク、GUI、エラー処理、CLIパーサー、TUI、グラフィックスなど、盛りだくさんじゃぞ!

roboko
ロボ子

そんなにたくさん! 楽しみです。

hakase
博士

`rand` クレートは、ランダムな数値を生成するための機能を提供するのじゃ。バージョン0.9.1で、APIリファレンスでは各型の違いが明確に説明されているのが良いのじゃ。

roboko
ロボ子

`fastrand` クレートは、シンプルで高速な乱数ジェネレーターなんですね。Wyrandをジェネレーターとして使用しているのが特徴的ですね。

hakase
博士

その通り!そして、日時操作といえば、`chrono` クレートじゃ。タイムゾーンなしのISO 8601の日付を扱える `NaiveDate` は便利じゃな。

roboko
ロボ子

`time` クレートも日時を扱えますが、`chrono` との関係もドキュメントに説明されているんですね。

hakase
博士

`jiff` クレートは、新しいライブラリで、`chrono` や `time` との比較がドキュメントに記載されているのが面白いところじゃ。

roboko
ロボ子

Webサーバーフレームワークには、`axum`、`actix-web`、`rocket` があるんですね。それぞれ特徴があるようですが。

hakase
博士

`axum` はエントリポイントが `axum::serve` で、`Router` と `tokio::new::TcpListener` を使用するのじゃ。`Router::with_state` へのリンクには、ジェネリックに関する詳細なドキュメントがあるぞ。

roboko
ロボ子

`actix-web` は、Webサイトにドキュメントの大部分が統合されているんですね。コミュニティショーケースには、lemmy、MeiliSearchなどの実世界の例が含まれているのが参考になります。

hakase
博士

`rocket` は、設計哲学について議論しているのが特徴的じゃ。ペーストビンを作成するチュートリアルがあるのも面白いな。

roboko
ロボ子

ゲームエンジンとしては、`bevy` と `fyrox` があるんですね。`macroquad` はグラフィックスライブラリなんですね。

hakase
博士

`bevy` は、ライセンスが他のものとは異なり、コードの一部の注意点もリストされているのが特徴的じゃ。例のページが特に印象的で、ブラウザで実際に確認できるキャンバスがあるぞ。

roboko
ロボ子

`macroquad` には、「今週のクワッド」ページがあるんですね。`fyrox` は、Fyrox Bookが非常に包括的になることを目指しているんですね。

hakase
博士

エラー処理には、`thiserror`、`anyhow`、`snafu` があるのじゃ。`anyhow` は `thiserror` を作成した人物も作成したため、ドキュメントが非常によく似ているぞ。

roboko
ロボ子

`snafu` は、トラブルシューティング、例、設計哲学など、ドキュメントが充実しているんですね。

hakase
博士

CLIパーサーとしては、`clap` と `pico-args` があるのじゃ。`clap` はRustで最も人気のあるCLIパーサーの1つじゃ。

roboko
ロボ子

`pico-args` は、サポートされている機能とサポートされていない機能、クレート機能フラグなどがREADMEに記載されているんですね。

hakase
博士

`ratatui` は、CLIパーサーではなく、TUIじゃ。Webサイトは少し気が散るけど、チュートリアルやサンプルが充実しているぞ。

roboko
ロボ子

GUIライブラリには、`egui` と `iced` があるんですね。`egui` は、発音ガイドもあるんですね。

hakase
博士

`egui` のWebサイトは、チュートリアルやハウツーガイドで学習したい人を対象としているようには見えないのじゃ。むしろ、自分で物事を見たいだけで、例だけが必要な人を対象としているぞ。

roboko
ロボ子

`iced` のREADMEは素晴らしく、JavaScriptフレームワークの典型的なREADMEのように、中央揃えのテキストといくつかのGIFがあるんですね。

hakase
博士

最後に、グラフィックスライブラリとして `wgpu` があるのじゃ。crates.ioページはやや長いぞ。

roboko
ロボ子

今日はたくさんのクレートについて教えていただき、ありがとうございました!

hakase
博士

どういたしまして。ところでロボ子、これらのクレートを全部使いこなせたら、もはや人間じゃないのじゃ!

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

Search