勉強の為に転載しました。
http://meteor-fan.axlight.com/comparing-meteor-and-mean/
導入
Meteorが標準で与えるもの
コールバック地獄なし
リッチWebアプリケーションの7原則
accounts-facebook
というパッケージを使うとテンプレートに一行追加するだけで、Facebook認証の機能を使うことができます。他にも多くのパッケージがあります。さらに、Meteorでは一つのコマンドでアプリをデプロイすることができます。
どちらの方が簡単に学べるか?
コミュニティ
どういうときにMeteorを使うべきではないか
結論
感想
2017年10月24日火曜日
MEANスタックより優れたMeteor(ミーティア)(JavaScript フレームワーク)との比較
20:30
No comments
まず初めに「MEAN」という名のスタックは存在しないということです。MEANはMongDB, Express, AngularJS, Node.jsの頭文字であり、それらを合わせて使うということでしかないです。一方、Meteorは完全なプラットォーム(フレームワークと多くのユーテリティ)です。
Meteorは標準で多くの機能を与えてくれます。クライアントとサーバはシームレスに通信し、何もコードを書かなくても自動更新してくれます。
MEANは4つが一緒になっただけで何もシームレスではありません。MongoDBとNode.jsの連携、ExpressとAngularの連携、REST APIとその呼び出しをすべてコーディングしなければなりません。これらは基本的なWebアプリを動かすのに必要ですが、Meteorではこれらに加えてさらに、ホットコードリロードやモバイル開発、リアクティブテンプレート、セッション管理、クライアントサーバ共通のパッケージが標準でついてきます。
MEANスタックではREST APIを使ってデータを要求しますが、Meteorではsubscribeすると更新のたびにデータが自動でWebSocket経由で送られてきます。
Meteorではクライアントとサーバで同じAPIを使うためフルスタックアプリケーションを開発するのが容易です。MEANスタックの場合は、クライアントとサーバは分離しているためそのようには行きません。
MeteorのサーバサイドはNode.js上で動きますが、Fibersを使ってcallbackを省略できるようにしています。クライアントサイドでもsimple TrackerとReactive Methodを使うことでコールバックだけでなくPromiseも省略できています。
Socket.IOの作者のGuillermo Rauchは「リッチWebアプリケーションの7原則」という記事を書きました。彼はトークもしています。
Meteorは2,3,4,6を実装しています。1と5はパッケージによってサポートされています。7はフレームワークの仕事ではないでしょう。一方で、MEANスタックはこれらの一部を実現するSocket.IOを組み込む手間がかかります。Meteorはすべてをつないでいるのにです。
Meteorはまたツールチェインを持ち、Coffeescriptのコンパイルやファイルの結合およびminifyを実現します。ファイルを保存してから数秒でブラウザが更新されるのです。これは上記6に対応したホットコードプッシュのおかげです。
Meteor = MEANスタック + Socket.IO + grunt/gulp + Cordova + ホットコードプッシュ + もっとたくさん
例えば、
でも、これらの機能を全部使えるには大変なのではないかって? 実はそうでもないんです。MeteorのシンプルさのおかげでMeteorはAngular一つを学ぶより簡単です。多くの人がAngularは学ぶのが大変で挫折すると言っています。
Meteorはその基本を一時間で学ぶことができます。公式チュートリアルを試してみてください。また公式ドキュメントもよく書かれています。それに対してMEAN.ioのドキュメントは話になりません。MEAN.JSのドキュメントには次のように書かれています。
ソースコードをダウンロードして、MongoDB, ExpressJS, AngularJS, Node.jsのドキュメントを読んだら、MEAN.JSのドキュメントに進みましょう。
Meteorのチュートリアルが一時間で終わるのであれば、それを試してからMEAN.ioやMEAN.JSを参照してもよいくらいでしょう。
もちろん製品アプリを作るのであればMeteorでもMongoDBの知識を学ぶ必要があります。しかし、当初はそれは必要ではありません。MeteorのドキュメントはよくあるMongoDBの使い方を説明しているからです。
Meteorはすべてが一つに詰まっているため、情報検索にも有利です。
一方、MEANスタックはMEAN.ioとMEAN.JSのどちらを選ぶかから始めなくてはなりません。詳しくは、分離の理由やStackOverflowを参照してください。これによりGitHubスターは6000と2000程度に分断されました。Meteorは23000です。
StackOverflowではmeteorは10000の質問がありますが、mean,mean.io,meanjsを合わせても1100だけです。
コミュニティサイズについては、Why Meteorも参照してください。
他のツールでもあるように、Meteorが適さない場面もあります。これについてはWhy Meteorでも説明がありますが、MEANスタックが適する場面を見てみましょう。
これまでの経験から、Meteorは生産性が高いだけでなく、調査コストも下げました。アドバイスとしては、Meteorがいい選択肢かどうか「考える」のではなく、チュートリアルを一時間かけてやってみて、それからMEANスタックを調べて、どちらがよいか決めましょう。
だいぶMeteor推しで、やりすぎ感(不公平感)もありますが、まず触ってから考えようというアドバイスは同意できます。また、Meteorを使わない方がよいシーンの説明は逆に使えるシーンが明確になって分かりやすいと思いました。
0 コメント:
コメントを投稿