📘
.NETでの有名なライブラリ・フレームワーク
はじめに
業務でシステム開発をする際に重要になる点がライブラリ・フレームワーク選定だと思います。
今回はそのライブラリ・フレームワーク選定のサポートになるように、これを使っておけば問題ないというライブラリ・フレームワークを列挙したいと思います。
なお、この記事は流行などを見て定期的に更新していこうと思います。
ライブラリ一覧
| 分野 | ライブラリ名 | 用途 | Microsoft製 | 備考 |
|---|---|---|---|---|
| ファイル操作 | CsvHelper | 高性能で柔軟なCSVファイルの読み取り、編集。 | ||
| OpenXml.SDK | Excelファイルの生成、読み取り、編集。 | |||
| FixedLengthHelper | 固定長ファイルの読み取り、編集。 | |||
| PdfSharp | PDFファイルの作成、編集、解析。 | |||
| SharpZipLib | ZIP、GZIPなどの圧縮・解凍。 | |||
| ネットワーク操作 | FluentFTP | FTP/SFTPサーバーへの接続。 | ||
| SSH.NET | SSH接続やSFTP通信。 | |||
| WebSocketSharp | WebSocket通信の実現。 | |||
| データ処理 | System.Text.Json | JSONデータの解析と生成。 | ⭐️ | |
| System.Xml.Linq | XMLデータの読み書き。 | ⭐️ | ||
| データベース操作 | Dapper | 軽量なORMライブラリ。 | パフォーマンスやカスタマイズが欲しいならDapper。 | |
| SqlBulkCopier | SQL Serverへのバルクコピー。 | |||
| テストとデバッグ | xUnit | 人気の高いテストフレームワーク。 | テストライブラリは色々あるけどこれ使っとけば間違いない。 | |
| Moq | テスト用モックオブジェクトの生成。 | |||
| FluentAssertions | テストでの直感的なアサーションの記述。 | とりあえず入れとけ。 | ||
| セキュリティ | System.Security.Cryptography | 暗号化、ハッシュ化、鍵管理。 | ⭐️ | |
| System.IdentityModel.Tokens.Jwt | JWTの生成と解析。 | ⭐️ | ||
| Microsoft.AspNetCore.DataProtection | アプリケーション用データ保護API。 | ⭐️ |
フレームワーク一覧
| 分野 | フレームワーク名 | 用途 | Microsoft製 | 備考 |
|---|---|---|---|---|
| Webアプリケーション | ASP.NET Core MVC | MVC(Model-View-Controller)パターンを使用したWebアプリケーション開発。 | ⭐️ | |
| ASP.NET Core Web API | RESTful APIを構築するためのフレームワーク。 | ⭐️ | ||
| Blazor | WebAssemblyを使用したシングルページアプリケーション (SPA) 開発。 | ⭐️ | ||
| ASP.NET Core SignalR | リアルタイムWeb通信を実現するためのフレームワーク。 | ⭐️ | ||
| デスクトップアプリケーション | Windows Presentation Foundation (WPF) | デスクトップアプリケーション用のUIフレームワーク。 | ⭐️ | デスクトップのみならWPF。 |
| .NET MAUI | マルチプラットフォームアプリケーションの開発を支援するフレームワーク。 | ⭐️ | モバイルアプリも視野にある場合はMAUI。 | |
| ゲーム開発 | Unity | ゲームエンジン。C#スクリプトを使用して2D/3Dゲームを開発。 | ||
| マイクロサービス | .NET Aspire | Microsoft公式のマイクロサービスフレームワーク。 | ⭐️ | |
| データアクセス | Entity Framework Core | データベースアクセスを簡単にするORMフレームワーク。 | ⭐️ | 全部いい感じにやって欲しいならEntity Framework Core。 |
Discussion
FluentAssertionsについて、有償化に伴い炎上してるみたいです。
Xユーザーのneueccさん: 「FluentAssertions v8で買収されて商用ライセンス化された(OSSは一応Free)ため大炎上中。 選択肢は以下の5つになるわけだけど * v7に留まる * 金払う * ヘルパーを使わない * Forkする/Forkされたものを使う * 別のライブラリに移行する」 / X
そのため、類似ライブラリのShouldlyというものが今よいみたいですね。
shouldly/shouldly: Should testing for .NET—the way assertions should be!
記事についてはおいおい修正します。