先ほども説明したように、MEANスタックはいくつかの技術から構成されます。この章では、それらMEANスタックを構成する各要素について解説していきます。
MEANスタックの中核をなす技術がこのNode.jsです。もはや説明不要なほどメジャーになりましたが、ノンブロッキングIOのサーバーサイドJavaScriptの実行環境です。最近はGrunt/Gulp/Yeomanといった各種ビルドツールの実行環境としてもよく使用されています。
また、Node.jsには「npm(Node Package Manager)」というパッケージ管理ツールが付属しており、前述のビルドツールや、この後紹介するExpressは簡単にインストールできます。
MEANスタックのアプリの場合、サーバーサイドはExpressを使用して実装します。ExpressとはNode.js上で動くWebアプリ用フレームワークで、npmモジュールでインストールできます。
Node.jsで使うフレームワークといえばコレ、というほどよく使用されており、下記のような特徴を持っています。
なお、2014年11月の原稿執筆時点での最新バージョンは4.xなので、この連載ではExpress 4.xを使用します。
フロント側のフレームワークは、最近人気上昇中のAngularJSを使用します。AngularJSはグーグルとコミュニティによって開発しているJavaScript用MVWフレームワークです。
MVWとは、「Model-View-Whatever」の略語で、Model、View、その他何でもという意味です。
双方向データバインディングやDI(依存性注入)を使え、複雑なWebアプリのフロントエンドも効率よくシンプルに実装できます。
MEANスタックで構成されたアプリのデータベースは、ドキュメント指向データベースであるMongoDBを使用します。
MongoDBは従来のRDB(リレーショナルデータベース)のようにレコードをテーブルに格納するのではなく、「ドキュメント」と呼ばれるデータをJSONに近い形式で表し、そのドキュメントの集合をコレクションとして管理します。
コレクションは固定されたスキーマを持ちませんが、クエリを発行してコレクションを操作できます。また、MongoDBにトランザクションや結合(join)はありませんが、データに対するアクセスは高速に行えます。
Copyright © ITmedia, Inc. All Rights Reserved.