📘
Rustでよく利用されているライブラリの紹介を行ってみるテスト
Rustでよく使われているライブラリの紹介などを行ってみます。
Rustの実装には定番パターンがあって、大抵よく使われているライブラリがそのままよく使われています。
なので例えばコマンドラインツールを作りたい場合は、大抵の場合clapが利用されています。
具体的にはGitHubのrust topicsで人気のあるアプリやライブラリでよく使われているCrateの紹介となります。
非常によく使われているのはanyhow、serde、clapなどなど。
コマンドライン関連
エラー処理関連
-
anyhow
- エラー処理関連を柔軟に行ってくれるライブラリ、GitHubでStar数の多いアプリケーション関連だと大抵利用されています。 なぜ使うかって?エラー処理が面倒だからだってさ
-
thiserror
- エラーの型などを簡潔に定義するためのライブラリ、大抵
error.rs
といったファイルなどで 利用されています
- エラーの型などを簡潔に定義するためのライブラリ、大抵
API関連
-
reqwest
- とりあえずAPI関連処理なりAPI Clientを作りたい場合reqwestを作るという風潮
ログ関連
RustのLog周りは結構変わっていて、logというfacadeライブラリ + facadeを実装するライブラリ、例えばenv_loggerを利用して使うという感じになっています。
非同期関連だとTracingを使う感じです。
エンコーディング関連
-
serde
- 様々なフォーマット、例えばjson, tomlに対応したSerializin、DeSerializingフレームワーク
時間日付関連
Web開発関連
Web開発に関すると、様々な選択肢があるのですが人気があるのはaxumですね。
それ以外にもactixなどの選択肢がありますが、詳しい情報を知りたい場合Rustのバックエンドサービス支援を行っているサービスのshuttleのドキュメントなり、ブログを読むことをオススメします。
ちなみにRustでのWeb開発に興味のある人はcch23をすることをオススメします。
DB関連
DB関連はとりあえずSQLxを使うと基本的なことは大抵でできます。ORMを利用したい場合、SeaORMやDieselなど選択肢がありますね。
非同期関連
Util
git関連
-
git2
- Rustのアプリではgit関連の処理をしているケースも多いです
Discussion