MEAN スタックはどのように機能しますか?
MEAN スタックコンポーネント
MEANアーキテクチャはJavaScriptでのウェブアプリケーション構築やJSONの扱いを非常に簡単にするよう設計されています。
MEAN スタックコンポーネント
Angular.js フロントエンド
MEAN スタックの最上位にあるのは、Angular.js という自称「JavaScript MVW フレームワーク」(MVW は「Model View and Whatever」の略)です。
Angular.js では、HTML タグをメタデータで拡張して、静的な HTML と JavaScript(または jQuery)を使用して自分で構築するよりもはるかに効率的に、動的でインタラクティブな Web エクスペリエンスを作成できます。
Angular には、フォームの検証、ローカリゼーション、バックエンドサービスとの通信など、フロントエンドの JavaScript フレームワークに期待されるすべての機能があります。
Express.js と Node.js のサーバー層
次のレベルは Node.js サーバー上で実行する Express.js です。Express.js は自らを「高速で、偏りのない、Node.js 用の最小限のウェブフレームワーク」と称しており、まさにその通りです。
Express.js には、URL ルーティング(着信 URL とサーバー関数のマッチング)と HTTP リクエストおよびレスポンスの処理のための強力なモデルがあります。Angular.js フロントエンドから XML HTTP リクエスト(XHR)、GET、POST を行うことで、アプリケーションを動かす Express.js 関数に接続できます。
これらの関数は、コールバックまたは Promise を介して、MongoDB の Node.js ドライバーを使用し、MongoDBデータベース内のデータにアクセス権してアップデートします。
MongoDB データベース層
アプリケーションが何らかのデータ(ユーザープロファイル、コンテンツ、コメント、アップロード、イベントなど)を保存する場合、Angular、Express、Node と同じくらい簡単に操作できるデータベースが必要になります。
そこで MongoDB が役に立ちます。React.js フロントエンドで作成された JSON ドキュメントは、Express.js サーバーに送信され、そこで処理されます(有効なデータであると仮定した場合)。その後、MongoDB に直接保存され、後で取得できるようになります。
MongoDB のメリットを最大限に活用したいなら、MongoDB Atlas を検討してみると良いでしょう。ボタンをクリックするだけで組み込みの完全なデータベースセキュリティと、複数のクラウドにわたるスケーラビリティを実現できます。その詳細については、このページの後半で説明します。