Nest.jsは最近、TypeScriptフレームワークのバージョン6のリリースを発表した。Nest.js 6はGraphQLのサポートを改善し、さらにフレームワークのプラットフォーム固有の部分を切り離して、従来のExpressおよびNode.jsベースのアーキテクチャ以外のアプリケーションをサポートする。
Nest.jsの作成者でTrilon.ioの共同創設者であるKamil Mysliwiecが、Nest.js 6の変更点をGraphQLと共に説明する。
GraphQLアプリケーションの最も一般的な問題の1つは型の冗長性です。この問題を解決するために、以前のバージョンのNestでは、SDLで記述された定義をTypeScriptインターフェイス(またはクラス)にコンパイルできるようにするコンパイラを追加しました。6.0.0では、Nestは、
amazingtype-graphql
パッケージと統合され、TypeScriptデコレータだけを使ってGraphQLファイルを生成することができるようになりました。今、あなたはどちらのアプローチがあなたの要件により適しているかを選ぶことができます。それらは両方@nestjs/graphql
パッケージで利用可能です。
バージョン6のもう1つの重要な変更点は、Nest.jsがサーバーサイドフレームワークとしての主な目的を超えて、より柔軟で汎用的なフレームワークになることである。Mysliwiecは次のように説明する。
プラットフォームに依存しないため、開発者がさまざまな種類のアプリケーションで使用できる再利用可能な論理部分を作成できます。Nestを使えば、Webアプリケーション、CLI、ジョブキュー、その他考えられるものを簡単に構築できます。
Nest.jsの次期メジャーの現在の計画には、TypeScript ASTを活用してデコレータのサポートを減らし、ジェネリクス、インタフェース、循環依存関係、および自動応答スキーマの生成をサポートするようにNest.js Swaggerモジュールをリライトすることが含まれる。Nest.jsチームはまた、サーバーレス環境をサポートしデプロイするためのDevOpsワークフローを改善することを計画している。
サーバーサイドアプリケーションの場合、Nest.jsはExpressやFastifyなどのHTTP Serverフレームワークを利用し、TypeORMなどのさまざまなサードパーティ製モジュールと簡単に統合できる。Nest.jsは、コントローラ、ルーティング、プロバイダ、ミドルウェア、ガード、およびインターセプタを含む、さまざまなアーキテクチャパターンとデコレータを提供する。Nest.jsは、制御の反転(IoC)コンテナアーキテクチャを提供する。
バージョン6への移行を検討しているNest.jsのユーザは、Nest.js移行ガイドに従ってください。Nest.jsに不慣れな開発者は、Nest.js入門ガイドに従ってください。
Nest.jsはMITライセンスの下で利用可能なオープンソースソフトウェアである。コントリビューションやフィードバックはNest.js GitHubプロジェクトを通して奨励されており、Nest.jsコントリビューションガイドラインに従ってください。