予想外だったのでメモ
質問:
asp.netで公式が用意しているwebフレームワーク以外のフレームワークがnugetなどにあったりしますか?
rubyのSinatraみたいな薄いフレームワークってある
はい、そのような考え方はとても良い視点です。ASP.NETのような重厚なフレームワークに比べて、RubyのSinatraのような「薄い」Webフレームワークを.NET(C#)で探すことは、ミニマルで高速なWebアプリ開発を求める場合に有効です。
✔ ASP.NET以外の「軽量」Webフレームワーク
- Carter
URL: https://github.com/CarterCommunity/Carter
概要: ASP.NET Coreの上に構築された軽量マイクロフレームワーク。Sinatra風に書けます。
特徴:
モジュールベースでルーティング
ASP.NET CoreのミドルウェアやDIと互換性あり
非常にシンプルな構文
- NancyFx(非アクティブだが参考になる)
URL: https://github.com/NancyFx/Nancy
概要: Sinatraインスパイアの軽量フレームワーク。今は開発終了していますが、学習や小規模用途には依然として使えます。
- Minimal API (ASP.NET Core 6以降の機能)
公式ですが「薄い」アプローチ
.NET 6以降では Minimal API が公式サポートされており、Sinatra風の非常にシンプルな書き方が可能です
公式ではありますが、フルMVCやRazorなどと比べて極めて軽量です。
- EmbedIO
URL: https://github.com/unosquare/embedio
概要: Windows環境や軽量サーバ用途に向いた、自己ホスト型のWebフレームワーク。
特徴: .NETでIoTや小規模Web API用途に適しています。
- SimpleHttpServer / Watson Webserver
さらに低レベルのHTTPフレームワーク。WebAPIを提供するだけの超軽量用途向け。
~~公式で薄いフレームワーク出していたんですね ~~
→冷静に考えたら、初期状態で作っているだけね
チュートリアルはここらへん
https://learn.microsoft.com/ja-jp/aspnet/core/tutorials/min-web-api?view=aspnetcore-9.0&tabs=visual-studio