web-dev-qa-db-ja.com

異なるタイプのMEANスタックアーキテクチャ

私は、MEANスタックでアプリを開発しているときに使用できるさまざまなアーキテクチャについて説明しているMEANスタックに関する本(Getting MEAN by Simon Holmes)を読んでいます。私はそれと少し混乱しました。

最初に、MEANでアプリケーションを開発する方法を説明します:

  • 私のフロントエンドはEJSやJadeのようなテンプレートエンジンです。
  • Node/Express.jsサーバーを介してページをレンダリングします。

  • また、フロントエンドでAngularJSを使用しています。angularJSコントローラーを使用して、アプリのさまざまな機能のスコープと機能を管理し、Angularサービスを使用してNode.jsサーバーと通信し、ルートへのHTTP呼び出し。

  • Express.JSを使用してNode.jsサーバーを作成し、REST APIを作成します。
  • Express.jsを使用してAPIルートを作成します
  • データベースにはMongoDBを、データベース接続にはmongooseを使用しています。

上記のアーキテクチャは私が使用しているものですが、私が読んでいる本ではさらにいくつかの話があり、それらがどのようにセットアップされて機能するかについて混乱しています。

本で説明されている3つの異なるアーキテクチャは次のとおりです。

  • Node.jsとExpressアプリケーション

  • 対話性のためにAngularJSが追加されたNode.jsおよびExpressアプリケーション

  • AngularJS SPA(単一ページアプリケーション)

本の3つのアーキテクチャの画像表現は以下のとおりです。

enter image description here

これらの3つのアプローチが私がやっていることとどのように異なっているか、そしてそれらがどのように設定されているかを誰かが説明できますか?

MEANは、MongoDB、Express、AngularおよびNodeを表し、次のようになります。

  • Node、Express、MongoDBのみを使用するトップは、Angularを使用しないため、MEANアプリケーションではありません。

  • 中央はすべてのテクノロジーを使用しているためMEANアプリですが、Angular機能を使用していますが、単一ページアプリケーションではないSPAを使用しているため、前のアプリとは異なります。

  • 下の1つもMEANアプリであり、SPAを使用します。SPAは、アプリケーション全体が1ページに含まれています。中央の1つは複数のページを持っています。

MEANアプリで他のテクニックを追加しても問題ないので、あなたはあなたのアーキテクチャで真ん中のものを使っていると思います。

1
Benny Skogberg