NestJSの特徴
NestJSは2017年にKamil Mysliwiecによって開発されました。
簡単に言えば、NestJSはExpress同様にNode.jsのフレームワークの一種です。
強力なWebフレームワークで、効率的でスケーラブルなアプリケーションを簡単に構築できます。TypeScriptで開発さ れているので、JavaScriptが実行できるすべてのブラウザ、コンピュータやOSで動作します。オープンソースなので無料で公開されています。
主な特徴は以下の通りです。
- TypeScriptで開発されたバックエンドのフレームワーク。デフォルトでTypeScriptをサポート
- デフォルトでExpressを活用。Fastifyも活用できる
- Expressのミドルウェアをそのまま転用できる
- OOP(オブジェクト指向プログラミング)、FP(関数型プログラミング)、FRP(関数型リアクティブプログラミング)の要素をフル活用できる
- DIコンテナをデフォルトで活用できる
- テストが簡単で疎結合であり、スケーラブル。専用のテストフレームワークが用意されている
- アーキテクチャはAngularの影響を受けている
- GraphQLとREST APIの開発を両方ともサポートしている
- モジュール構造によ り、プロジェクトを個別のブロックに分割できる。これによって、プロジェクト内で外部のライブラリを簡単に活用できる
- すぐに利用を開始できるCLIツールがある。コマンド一つで開発に必要な雛形を簡単に作れる
- マイクロサービスを開発しやすい
- WebSocketと連携できる
- 拡張性が高い
このように、ExpressなどのNode.js製のアプリケーションをさらに抽象化した仕組みになっており、バックエンドアプリケーションを開発する上で役立つ機能を豊富に提供しています。さらに、TypeScriptをデフォルトでサポートしているので、フロントエンドとの連携もスムーズにできます。
また、NestJSは
Module
単位でコードをまとめて整理できます。これによってSOLID原則を遵守でき、より保守性の高いコードを書くことができます。あと、NestJSはAngularの影響を強く受けて開発されているので、Angularを経験したことがあるなら習得がスムーズに進む可能性が高いです。(より簡単に言えば、Angularの概念や設計思想をバックエンドに転用した感じ)
Last modified 11mo ago