Node.jsのWebアプリケーションフレームワーク
はじめに
Node.jsのWebアプリケーションフレームワークについてまとめます フレームワーク
枯れていて情報量も多く、エコシステム的にも最も充実していると思われるため、特にこだわりがなければExpressは選択肢として良さそうに思います Expressの開発チームによって開発されているシンプルなミドルウェアフレームワーク async/await (Promise)の使用が想定して開発されています とにかくシンプルで、好きな人は気に入るのではないかと思います
高速なフレームワーク
プラグインシステムにより柔軟に拡張できる
また、こういった周辺ライブラリの採用についてもパフォーマンスが強く意識してされています (AjvやPinoといった高速なライブラリが採用されている) Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.
それぞれのフレームワークの比較について
使用率や使用実績で判断すると、Expressは最も無難な選択肢ではないかと思います 情報量なども多く学習においても困る場面は少ないと考えられ、選択肢としては悪くないと思っています
複数のプロダクトやマイクロサービスなどを開発している場合は、このメリットが活かしやすいかもしれません FastifyはPinoをベースとしたロギングの仕組みを提供しており、標準で提供しているロギングの仕組みという面ではHonoよりやや有利ではないかと思っています Nest.jsはフレームワークが公式でDIコンテナを提供してくれるという点が最大のメリットだと思います DIコンテナを活用したい場合は、選択肢の一つとして有用ではないかと思っています デコレーターを使って宣言的にコントローラーなどを記述ができるという点に関してはNest.js以外にも提供しているライブラリはありますが、個人的には、その特徴はそこまで重要ではないと認識しています 関連ページ