88

だから私はmeteor.jsについてたくさん聞いたり読んだりしています。チュートリアルを見ると、フレームワークとして非常にスポーティーに見えますが、Web プログラミングに関しては、私はまだ少し初心者です。

私はこの 1 か月半にわたって、node.js を実際に学び、すべてがどのように組み合わされるかを理解しようと試みてきました。私は、立ち上げて実行するのがいかに速くて簡単であるか、そしてそれに付随するコミュニティが好きです (これは、Node.js 用に入手できる驚異的な数のフレームワークによって実証されています)。

しかし、流星はどうですか?それの本当の利点は何ですか、そして違いは何ですか? 誰かが node.js ユーザーとして始めて「変換」したことがありますか?それとも、まだ興味深い新しいフレームワークですか?

4

3 に答える 3

159

大まかな例えは、「Rails が Ruby に、Meteor が Node に」というものです。これは、サーバー上で Node を使用する大規模で独断的なフレームワークです。ノード自体は、HTTP リクエストを送受信し、他の I/O を実行するための機能を提供する低レベルのフレームワークです。

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

もう 1 つの違い: Node 自体は安定しており、本番環境で広く使用されていますが、Meteor は「プレビュー」状態にあります。重大なバグがあり、Meteor のデータ中心の概念モデルに適合しない特定のこと (アニメーションなど) を実行するのは非常に困難です。

新しいテクノロジーで遊ぶのが好きなら、Meteor を試してみてください。Node 上に構築された、より伝統的で安定した Web フレームワークが必要な場合は、Expressをご覧ください。

于 2012-07-13T23:24:37.110 に答える
12

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

ノードのモジュールベースのシステムではなく、独自のパッケージングシステムを使用することが重要です。Node.js を使用して Web アプリケーションを簡単に作成できます。ノードはさまざまなことに使用できますが、それ自体では動的な Web コンテンツを提供するのは苦手です。Meteor のライブラリは、これらすべてを簡単にします。

于 2012-07-12T22:21:43.033 に答える
9

Meteor の強みは、リアルタイムの更新機能にあり、最近目にするソーシャル アプリケーションの一部では、自分が取り組んでいるものに関する全員の更新を見ることができます。これらの更新は、Web ブラウザーでローカルのミニ mongo (クライアント側の MongoDB サブセット) データベースの更新としてカバーの下にある MongoDB コレクションのサブセットを複製することを中心にしています (これにより、テンプレートで複数のレンダリング イベントが発生します)。複数のレンダリング更新に関する後半部分も弱点です。UI がいつ更新されるかを UI で制御したい場合 (たとえば、HTML をロードし、すべての AJAX 呼び出しと UI の更新を制御する従来の jQuery AJAX ページ)、このメカニズムと戦うことになります。

Meteor は Node.js プラグイン (Handlebars.js、Spark.js、Bootstrap css など) の優れたスタックを使用しますが、npm の代わりに独自のパッケージング メカニズムを使用します。について考える。しかし、時にはあなたもそれと戦うことになります...例えば、Bootstrapテーマをカスタマイズしたい場合、Bootstrapのresponsive.cssファイルのロードシーケンスを台無しにして、応答しなくなります(しかし、これはおそらくBootstrapのときに自動的に修正されます) 3.0 がまもなくリリースされます)。

したがって、すべての「フル スタック フレームワーク」と同様に、アプリが意図したとおりに機能する限り、うまく機能します。その範囲を超えてエッジの境界を押し上げると、フレームワークと戦うことになるかもしれません...

于 2013-07-08T18:32:49.790 に答える