MEAN (ソフトウェアバンドル)
この項目では、ソフトウェアバンドルについて説明しています。その他の用法については「ミーン」をご覧ください。 |
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という言葉を作成したのは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]
関連書籍
- シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA, Michael S. Mikowski, オライリージャパン, 2014/5/24
関連項目
- LAMP (ソフトウェアバンドル)
出典
- ^ “Mean.io: The Friendly & Fun Javascript Fullstack for your next web application”. 2016年7月3日閲覧。
- ^ a b “The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js”. Tumblr (Apr 30, 2013). 2016年7月3日閲覧。
- ^ “Mean Stack”. LinkedIn. 2016年7月3日閲覧。
- ^ “Forking out of an open-source conflict”. Tumblr (Feb 15, 2014). 21 June 2015閲覧。
- ^ MEAN.JS - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js
- ^ GitHub - meanjs/mean: MEAN.JS - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js -
- ^ GitHub - YunnuY/meen: Mongo-Ember-Express-Node full-stack javascript open-source solution
外部リンク
- MEAN.JS - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js 公式ウェブサイト(英語)
- mean.io (英語)
- @IT - MEANスタックで始めるWebアプリ開発入門
| |
---|---|
概念 |
|
エンジン | |
コンパイラ | |
デバッガ | |
エディタ | |
サーバーサイド |
|
フレームワーク・ライブラリ | |
ユニットテスト |
|
Docジェネレータ | |
コード解析 | |
パッケージ管理 |
|
アプリケーションバンドラー | |
関連技術 | |
人物 | |
|
- 表示
- 編集