LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成MEANスタックで始めるWebアプリ開発入門(1)(1/3 ページ)

MEANスタックを用いたWebアプリの開発方法について紹介していく連載。初回はMEANスタックの特徴と構成要素MongoDB、Express、AngularJS、Node.jsの概要、インストールの仕方とひな型の作成方法を解説。

» 2014年12月01日 18時00分 公開
[中村修太クラスメソッド株式会社]

LAMPに代わる構成として注目のMEANスタックとは

「MEANスタックで始めるWebアプリ開発入門」のインデックス

連載目次

 今でもよく使用されていますが、以前からWebアプリ開発ではLAMP環境がよく使用されていました。LAMPとは、一般的なWebアプリを開発するのに人気の高いオープンソースソフトウェアを組み合わせたもので、以下を用いたシステムのことです。それぞれの頭文字を取って「LAMP」と呼ばれています(参考)。

  • OS:Linux
  • Webサーバー:Apache HTTP Server
  • データベース:MySQL
  • プログラミング言語:PHP/Perl/Python

 LAMP環境では使用されるソフトウェアが全てOSS(オープンソースソフトウェア)なので中身を知ることも自分で改善することもできますし、コミュニティもしっかりとしているので信頼性があります。そして、無料なのでコストを抑えることも可能になっています。

 このように、手軽にWebアプリを開発できて人気のLAMP環境ですが、最近ではこのLAMPに代わる構成として、「MEAN(MEANスタック)」という構成が注目されてきています。独SAPがGitHubと連係するオープンソースのコードレビューツール「ReviewNinja」をMEANスタックを用いて開発していることで話題を集めました(参考)。

 本連載では全体を通して、MEANスタックを用いたWebアプリの開発方法について紹介していきます。そして、連載の初回となる本記事では、MEANスタックがどういったものか、どんな技術からできているかについて解説していきます。

MEANスタックの3つの主な特徴

 MEANスタックについての説明をしていきましょう。MEANとは、LAMPと同じく、システムを構成する技術の頭文字をつなげたものです。

  • M:MongoDB(ドキュメント指向データベース)
  • E:Express(Node.js上で動作するMVCフレームワーク)
  • A:AngularJS(フロントエンドのJavaScript用MVWフレームワーク)
  • N:Node.js(サーバーサイドJavaScriptの実行環境)

 各構成内容については後述しますが、このMEANスタックは、とてもシンプルで一貫性のあるアーキテクチャです。特に着目すべき点は、次の部分です。

全てJavaScriptで開発可能

 フロントエンドはAngularJSを使用します。そしてサーバーサイドもNodeを使用するので、全てJavaScriptでWebアプリを開発することになります。使用する言語がJavaScriptだけに統一できるのは大きなアドバンテージといえるでしょう。

JSONフォーマットを使用

 JavaScriptではJSONフォーマットを扱うのが非常に簡単です。クライアントからサーバーサイドへのデータの受け渡しはJSONで通信できますし、データベースもMongoDBを使用しているので、JSONフォーマットを使用できます。

 このため、フロントエンドからデータベースまで一貫してJSONフォーマットでデータのやりとりを行うことが可能です。

Node.jsで動作するツール類を使用できる

 これはMEANスタックに限ったことではありませんが、最近はGruntやGulpなどのビルドツールをよく使用します。MEANスタックのアプリはNode.js環境で実行するので、Grunt/Gulpをインストールしてそのまま使用できます。これらビルドツールを使用すれば、開発のワークフローがより簡単に自動化できるでしょう。

 なお、Grunt/Bower/Yeoman/Gulpについては連載「Gruntで始めるWeb開発爆速自動化入門」をご確認ください。

 また、Node.jsを実行環境にしているクラウドサービスは多数存在し、すぐに動かして試す環境が整っています。特に、Google Compute EngineはMEANスタックのデプロイをボタン一つでできる「Click to Deploy」機能を持っています(参考)。

MEAN development stack on Google Compute Engine

 以上から分かるように、MEANスタックで構成されたシステムは、一つの言語で開発でき、データもJSONで全てやりとりするので全体をシンプルに作ることができます。

 次は、MEANスタックを構成する各要素についてもう少し説明します。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。