2012-07-12 15 views
88

私はmeteor.jsについて聞いたり、読んだりしています。このチュートリアルではフレームワークとして非常にスポーティなように思えますが、Webプログラミングについてはまだまだ初心者です。node.jsとmeteor.jsの違いは何ですか?

私は先月、node.jsを実際に学び、それがどのように一緒になるかを理解するために、この1ヶ月半以上を試してきました。どのように素早く簡単に立ち上げ、実行するのか、そしてそれに伴ってくるコミュニティが好きです(これは、あなたがNodeのために得ることができる数々のフレームワークを吹き飛ばしています)。

しかし、流星はどうですか?それの本当の利点は何ですか?その違いは何ですか?誰もnode.jsユーザーとして開始し、変換されたのですか、それとももっと興味深い新しいフレームワークですか?

答えて

159

緩やかな類推は、「流星がルービックへのノードであるということです。これは、サーバー上のノードを使用する大規模で懐疑的なフレームワークです。ノード自体は、HTTPリクエストの送受信やその他のI/Oの実行に必要な機能を提供する、低レベルのフレームワークです。

メテオールは根本的に野心的です。デフォルトでは、それが提供するすべてのページは実際にはサーバと同期して保持されるHandlebarsテンプレートです。 Leaderboard exampleを試してください:単純に「名前とスコアの一覧を表示する」というテンプレートを作成します。クライアントが名前やスコアを変更するたびに、そのクライアントだけでなくそのページを見ているすべてのユーザーが新しいデータでページを更新します。

別の違い:Node自体は安定していて、実稼働環境で広く使用されていますが、Meteorは「プレビュー」状態です。深刻なバグがあり、Meteorのデータ中心の概念モデル(アニメーションなど)に適合しないものは非常に難しいものです。

新しい技術で遊ぶのが大好きなら、Meteorにスピンを与えてください。 Node上に構築されたより伝統的で安定したWebフレームワークが必要な場合は、Expressをご覧ください。

+2

メテオールは昨年から「深刻なバグ」を改善していますか? – danorton

+3

@danortonはい、私は間違いなくそう言います。特定のアプリケーションでは、Meteorは現在、非常に実行可能で、開発する絶対的な喜びもあります。 –

+4

メテオは積極的に開発されており、開発期間を短縮して「プレビュー」段階から外すことができます。 – Goddard

12

Meteorはnode.jsの上に構築されたフレームワークです。展開にはnode.jsを使用しますが、いくつかの違いがあります。

キーは、ノードのモジュールベースのシステムの代わりに独自のパッケージシステムを使用しています。 Nodeを使用してWebアプリケーションを簡単に作成できます。ノードはいろいろなものに使うことができ、動的なウェブコンテンツを提供するのはひどいです。流星の図書館はこれをすべて簡単にします。

+4

バージョン0.6.0は、NPMモジュールhttp://meteor.com/blog/2013/04/を直接サポートしています。 04/meteor-060-brand-new-distribution-system-app-packages-npm-integration –

9

Meteorの強みはリアルタイム更新機能であり、あなたが現在作業しているものについて誰もが更新しているソーシャルアプリケーションに適しています。これらのアップデートは、MongoDBコレクションのサブセットをローカルのmini-mongo(クライアントサイドのMongoDBサブセット)として更新します。これにより、複数のレンダーイベントがテンプレート上で発生します。 複数のレンダリング更新に関する後者の部分も弱点です。 UIをリフレッシュするときにUIを制御する場合は(たとえば、HTMLを読み込み、すべてのAJAX呼び出しとUI更新を制御する古典的なjQuery AJAXページ)、このメカニズムと戦うことになります。

Meteorは、Donateプラグイン(Handlebars.js、Spark.js、Bootstrap CSSなど、npmの代わりに独自のパッケージメカニズムを使用)を使用して、MongoDBの下にあります。考えないといけない。しかし、時にはそれも同様に戦うことになります...例えば、Bootstrapのテーマをカスタマイズしたい場合、Bootstrapのresponsive.cssファイルの読み込み順序が崩れて応答しなくなります(しかしこれはおそらくBootstrap 3.0はすぐにリリースされる)。

すべての「完全なスタックフレームワーク」のように、あなたのアプリが意図したものに合っている限り、優れたものになります。その範囲を越えてエッジの境界を広げると、フレームワークとの戦いに終わるかもしれません...

+2

Meteor V0.6.0 +にはnpm統合があります。 http://www.meteor.com/blog/2013/04/04/meteor-060-brand-new-distribution-system-app-packages-npm-integration –

関連する問題