MEAN (ソフトウェアバンドル)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
MEANのロゴ。各ソフトウェアの頭文字を組み合わせている。

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

概要[編集]

MEANを採用すると、サーバサイドからクライアントサイドまでの全ての実装作業がJavaScriptJSONのみで完結できる。従って、Webアプリにおける内部処理の全工程を単一の言語で記述でき、データベースの入出力におけるデータ変換も行う必要がない。また、サーバの役割を果たすNode.jsが、シングルスレッド、ノンブロッキングI/Oにより、省メモリかつ高速で動作する。従って、開発作業の効率化やサーバマシンの大幅な負荷低減を実現できる。これらの非常に大きなメリットを理由に、LAMPRuby on Railsの次世代を担うスタックであると言われている。[要出典]

MEANにおける開発作業を効率化するため、スクリプトをビルドするためのGrunt、クライアント・サイドの依存関係管理をするBower、Scaffolding(Webアプリケーション開発の足場となる構造の作成)を行うYoといったツールが開発され、その上でGrunt、Bower、Yoのワークフローを制御するYEOMAN等も開発されている。従って、MEANとYEOMAN等の関連ツール群は、所々に機能不足や破綻が見られるものの、フルスタックフレームワークの先駆者であるRuby on Railsにも匹敵するWebアプリケーションフレームワークに成長しつつある。[要出典]

構成[編集]

MEANは以下の要素から構成される。[2]

歴史[編集]

MEANという言葉を作成したのはMongoDBの開発者のValeri Karpovである。Karpovは2013年に自身のブログでこの概念を紹介した。[2]

MEANのロゴを作成したのはAustin Andersonで、LinkedInのMEANグループのためのものであった。このロゴでは、MEANの由来を示すように、各アプリケーションの頭文字が組み合わされている。[3]

実装[編集]

  • MEAN.io: MEANの最初のフレームワークの一つ。Amos HavivとLinnovateによるもの。
  • MEAN.JS: Linnovateの離脱後にAmos Havivが作成したもので[4]、コミュニティによる管理が行われている[5][6]

派生[編集]

MEANの構成要素のいくつかを他のフレームワークなどに置き換えたものが知られている。こうした例としては、AngularJSの代わりに同じくJavaScriptのMVCフレームワークであるEmber.js英語版を用いたMEENなどがある。[7]

関連書籍[編集]

  1. シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA, Michael S. Mikowski, オライリージャパン, 2014/5/24

関連項目[編集]

脚注[編集]

  1. ^ Mean.io: The Friendly & Fun Javascript Fullstack for your next web application”. 2016年7月3日閲覧。
  2. ^ a b The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js”. Tumblr (2013年4月30日). 2016年7月3日閲覧。
  3. ^ Mean Stack”. LinkedIn. 2016年7月3日閲覧。
  4. ^ Forking out of an open-source conflict”. Tumblr (2014年2月15日). 2015年6月21日閲覧。
  5. ^ http://meanjs.org/
  6. ^ https://github.com/meanjs/mean
  7. ^ https://github.com/YunnuY/meen

外部リンク[編集]