📘
.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!
記事についてはおいおい修正します。