🐷

Apollo ServerのみとexpressベースのapploserverとNestベースのapplo serverの違い

2024/04/18に公開

目的

typescript で graqhpq でサーバを建てようとした時に、apploserver の書き方に 2 種類あるということに気づいたことがこの記事を書いたきっかけである。

直感的なイメージ

それぞれの特徴と利点

applo server

特徴・利点

サーバー設定:Apollo Server インスタンスを作成し、スキーマとリゾルバーを組み合わせてサーバーを設定し
ネットワーク経由でアクセス可能にする

express ベース Applo Server

特徴・利点

  • シンプルさと柔軟さ

    • Express は非常に軽量で、最小限の構造しか提供により開発者はアプリケーションのアーキテクチャを大きく自由に設計
  • 広範なコミュニティとサポート

    • Express は Node.js の中で最もポピュラーなフレームワークの豊富なライブラリーが多い
  • 統合の容易さ

    • Apollo Server は Express との統合が非常にシンプル

NestJs を使う場合

特徴・利点

  • モダンなアーキテクチャ

    • NestJS は Angular に触発されたフレームワーク(@感じの使われるよ)により、依存性注入、モジュール性、テストの容易に行われる。
  • 組織的なコードベース

    • 大規模アプリケーションや複数の開発者が関わるプロジェクに適している。コード整理や維持が容易に行いやすい。
  • GraphQL との優れた統合

    • NestJS は GraphQL(Apollo を含む)の統合が組み込みでサポートされており、GraphQL モジュールを使って簡単に設定できます。

まとめ

Nest のフレームワークを使うべき

  • Nest は grahql(apploserver)を想定して作られているフレームワークのためとてても使いやすい。
  • 大規模アプリケーションや複数の開発者が関わるプロジェクに適している
GitHubで編集を提案

Discussion