MEAN (ソフトウェアバンドル)
ウェブアプリケーション構築のためのフリー&オープンソースのJavaScriptソフトウェア群を指す造語
From Wikipedia, the free encyclopedia
MEAN は、ウェブアプリケーション構築のためのフリー&オープンソースのJavaScriptソフトウェア群を指す造語である[1]。2013年にMongoDBの開発者のValeri Karpovにより提唱された用語であり、MongoDB, Express, AngularJS, Node.jsの4つのアプリケーションの頭文字を取って名付けられた。

概要
MEANを採用すると、サーバサイドからクライアントサイドまでの全ての実装作業がJavaScriptとJSONのみで完結できる。従って、Webアプリにおける内部処理の全工程を単一の言語で記述でき、データベースの入出力におけるデータ変換も行う必要がない。また、サーバの役割を果たすNode.jsが、シングルスレッド、ノンブロッキングI/Oにより、省メモリかつ高速で動作する。従って、開発作業の効率化やサーバマシンの大幅な負荷低減を実現できる。
構成
MEANは以下の要素から構成される。[2]
- MongoDB: NoSQLデータベース
- Express.js: Node.jsで動作するWebアプリケーションフレームワーク
- AngularJS: Webブラウザ上で動作するJavaScriptのMVCフレームワーク
- Node.js: イベント駆動型のサーバサイド/ネットワークアプリケーション
歴史
実装
派生
MEANの構成要素のいくつかを他のフレームワークなどに置き換えたものが知られている。こうした例としては、AngularJSの代わりに同じくJavaScriptのMVCフレームワークであるEmber.jsを用いたMEENなどがある。[7]
関連書籍
- シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA, Michael S. Mikowski, オライリージャパン, 2014/5/24