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

MEANスタックとは



MEANスタックは、Webアプリケーションを構築するためのフリーでオープンソースなJavaScriptソフトウェアスタックの総称です。2013年MongoDBの開発者であるValeri Karpov氏によって提唱され、MongoDB、Express、AngularJS、Node.jsの4つの主要な要素の頭文字を組み合わせて名付けられました。

MEANスタックの概要



MEANスタックの最大の特徴は、サーバーサイドからクライアントサイドまでの全ての開発作業をJavaScriptとのみで完結できる点です。これにより、Webアプリケーションの内部処理を単一の言語で記述することが可能となり、データベースとのデータ変換も不要になります。

また、サーバーの役割を担うNode.jsは、シングルスレッド、ノンブロッキングI/Oという特性を持ち、省メモリかつ高速な動作を実現します。これにより、開発作業の効率化とサーバーマシンの負荷を大幅に低減することが可能となります。

MEANスタックの構成要素



MEANスタックは、以下の4つの要素で構成されています。

1. MongoDB: NoSQLデータベースとして機能し、形式のドキュメントを柔軟に扱うことができます。
2. Express.js: Node.js上で動作するWebアプリケーションフレームワークで、ルーティングやミドルウェアなどの機能を提供します。
3. AngularJS: Webブラウザ上で動作するJavaScriptのMVCフレームワークで、動的なユーザーインターフェースを構築するのに役立ちます。
4. Node.js: イベント駆動型のサーバーサイド/ネットワークアプリケーションで、JavaScriptを使用してサーバー側の処理を実行できます。

MEANスタックの歴史



MEANという言葉を生み出したのは、MongoDBの開発者であるValeri Karpov氏です。2013年に彼のブログでこの概念が紹介されました。また、MEANのロゴは、Austin Anderson氏がLinkedInのMEANグループのために作成しました。

MEANスタックの実装



MEANスタックを基盤としたフレームワークとしては、以下のものが知られています。

MEAN.io: Amos Haviv氏とLinnovateによって開発された最初のMEANフレームワークの一つです。
MEAN.JS: Linnovateが離脱した後にAmos Haviv氏によって作成され、現在はコミュニティによって管理されています。

MEANスタックの派生



MEANスタックの構成要素の一部を他のフレームワークに置き換えた派生スタックも存在します。例えば、AngularJSの代わりにEmber.jsを使用したMEENなどが挙げられます。このように、ニーズに合わせて柔軟に構成を変更することが可能です。

関連書籍



『シングルページWebアプリケーション ―Node.jsMongoDBを活用したJavaScript SPA』 (Michael S. Mikowski著、オライリージャパン、2014年)

関連事項



LAMP (ソフトウェアバンドル)):Webアプリケーション開発における別のソフトウェアスタック

外部リンク



MEAN.JS - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js (公式ウェブサイト、英語)
mean.io (英語)
* @IT - MEANスタックで始めるWebアプリ開発入門

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。