LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成:MEANスタックで始めるWebアプリ開発入門(1)(2/3 ページ)
MEANスタックを用いたWebアプリの開発方法について紹介していく連載。初回はMEANスタックの特徴と構成要素MongoDB、Express、AngularJS、Node.jsの概要、インストールの仕方とひな型の作成方法を解説。
MEANスタックを構成する4要素
先ほども説明したように、MEANスタックはいくつかの技術から構成されます。この章では、それらMEANスタックを構成する各要素について解説していきます。
サーバーサイドJavaScriptの実行環境「Node.js」
MEANスタックの中核をなす技術がこのNode.jsです。もはや説明不要なほどメジャーになりましたが、ノンブロッキングIOのサーバーサイドJavaScriptの実行環境です。最近はGrunt/Gulp/Yeomanといった各種ビルドツールの実行環境としてもよく使用されています。
また、Node.jsには「npm(Node Package Manager)」というパッケージ管理ツールが付属しており、前述のビルドツールや、この後紹介するExpressは簡単にインストールできます。
Node.js上で動作するMVCフレームワーク「Express」
MEANスタックのアプリの場合、サーバーサイドはExpressを使用して実装します。ExpressとはNode.js上で動くWebアプリ用フレームワークで、npmモジュールでインストールできます。
Node.jsで使うフレームワークといえばコレ、というほどよく使用されており、下記のような特徴を持っています。
- シンプルなルーティング機能
- jadeやectなどのテンプレートエンジンを使用可能
- Connectモジュールをベースにしているため、ミドルウェアによるカスタマイズが可能
- コマンドによるひな型生成が可能(Express 4からはexpress-generatorモジュールを使用)
なお、2014年11月の原稿執筆時点での最新バージョンは4.xなので、この連載ではExpress 4.xを使用します。
フロントエンドのJavaScript用MVWフレームワーク「AngularJS」
フロント側のフレームワークは、最近人気上昇中のAngularJSを使用します。AngularJSはグーグルとコミュニティによって開発しているJavaScript用MVWフレームワークです。
MVWとは、「Model-View-Whatever」の略語で、Model、View、その他何でもという意味です。
双方向データバインディングやDI(依存性注入)を使え、複雑なWebアプリのフロントエンドも効率よくシンプルに実装できます。
ドキュメント指向データベース「MongoDB」
MEANスタックで構成されたアプリのデータベースは、ドキュメント指向データベースであるMongoDBを使用します。
MongoDBは従来のRDB(リレーショナルデータベース)のようにレコードをテーブルに格納するのではなく、「ドキュメント」と呼ばれるデータをJSONに近い形式で表し、そのドキュメントの集合をコレクションとして管理します。
コレクションは固定されたスキーマを持ちませんが、クエリを発行してコレクションを操作できます。また、MongoDBにトランザクションや結合(join)はありませんが、データに対するアクセスは高速に行えます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- MEANスタックで家電制御アプリを作るための設計・準備と温度湿度センサーからのデータ読み取り
家電〜Webアプリ間の双方向通信をSocket.IOで行うための設計や、MEANスタックのインストール、Yeomanによるアプリのひな型作成、温度湿度センサーからデータを読み取る方法などについて解説します。 - Socket.IOでセンサー&MongoDB〜AngularJSアプリ間の通信を行う
家電〜Webアプリ間の双方向通信をSocket.IOで行うアプリについて、サーバー側のArduino連携やMongoDBへのデータ保存などと、クライアント側のAngularJSに分けて動作を解説します。 - Node.js、Socket.IO、MongoDBでリアルタイムWeb
Node.jsとSocket.IO、MongoDBを使用して、Webページの更新内容がリアルタイムに画面に反映されるサイトを作ってみた - Node.js、MongoDBでデータの保存
Node.jsとSocket.IO、MongoDBを使用して、Webページの更新内容がリアルタイムにView画面に反映されるサイトを作ってみた - exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
Windows、Mac、Linuxごとのインストーラー、仮想実行環境、言語ごとのモジュール(ライブラリ)管理・ビルドツール、ローカルリポジトリによる配布、標準リポジトリ、GitHubでの公開などを紹介。 - ようこそJavaScriptの世界へ
JavaScriptで本格的なプログラミングの世界に触れてみよう。連載を通じて実用的なアプリケーションを作れるようになるはず!?(編集部) - JavaScriptテストの基礎知識と使えるフレームワーク6選
しっかりとJavaScriptの“テスト”を行うために、最近のJavaScript事情やテストを取り巻く環境、今注目のテストフレームワークを6つ紹介する