MEANはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

PHPでWebサービスを立ち上げる場合にはLAMP構成が有名です。他にもWAMPやMAMP、LNMP、LEMPなんて組み合わせもあるそうです。今回紹介するのはMEAN、MongoDB+Express+AngularJS+Node.jsという組み合わせのシステム開発です。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.47.34_thumb.1376398754.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.47.34.1376398754.png)
インストール中。ベースになるシステムがGitHub上に公開されています。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.02_thumb.1376398759.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.02.1376398759.png)
起動しました。簡単なテンプレート(Bootstrapベース)も内包されています。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.06_thumb.1376398762.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.06.1376398762.png)
サインナップ。設定すればOAuthも利用できます。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.35_thumb.1376398766.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.35.1376398766.png)
ログインしました。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.45_thumb.1376398770.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.45.1376398770.png)
記事を作成します。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.48_thumb.1376398774.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.50.48.1376398774.png)
作成しました。編集もできます。

[![](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.51.13_thumb.1376398777.png)](http://images.moongift.jp/2013/08/Screenshot 2013-08-13 20.51.13.1376398777.png)
システム構成はこのようになっています。

MEANではテンプレートエンジンにJadeが使われています。O/Rマッパーもありますし、MVCに分かれて設計されていますのでnodeを使ったWebアプリケーション開発の参考になるのではないでしょうか。

MOONGIFTはこう見る

新しいフレームワークを使うとき、そのベストプラクティスとも言うべき開発手法を知りたいと思うはずです。Railsのようなフルスタックの場合は選択肢がかなり絞り込まれるのですが、nodeについてはまだまだ選択肢が多いように思います。

JavaScriptのフロントエンドフレームワークも数多く登場し、NoSQLデータベースも混迷です。そんな中で大事なのは自分なりの最適解を導きだして、それを公開することです。MEANはその一例と言えるでしょう。

Mean by linnovate

linnovate/mean