Meteor JavaScriptフレームワークはどのように機能しますか?[閉まっている]


108

Meteorに出会いましたが、それはエキサイティングなようですが、どのように機能するか知りたいです。つまり、従来のWebアプリケーションは次のように機能します。サーバーからスクリプトを取得してデータベースからデータを取得し、それを動的にWebページに追加すると、ユーザーが送信したデータが他のスクリプトを通じてデータベースに追加されます。

しかし、これらはMeteorでどのように機能するのでしょうか。Meteorのさまざまな部分は互いにどのように関連していますか?



8
これは建設的で事実に基づく質問です。有効な回答があれば、「事実、参照、または特定の専門知識によってサポートされている」必要があります。どうやらcasperOneは質問または質問を建設的ではないと指定するための基準を誤解しているようです。
チャーリーフラワーズ

3
しかし、この質問は「拡張ディスカッション」を要求する可能性が高く、「答え」の答えはありません。
durron597

9
@ durron597質問への回答が非常に大きいとおっしゃっていると思います(誤解した場合は訂正してください)。私はそれを見ることができますが、それは「建設的でない」ことと同じではありません。以下に表示されるボイラープレートの要約で「非建設的」の定義は、「非建設的」タグが非客観的な質問に対するものであることを明確にします。この質問は100%客観的です。流星はそれが動作する方法で動作します。ここに複数の意見が出始めた場合、そのうちの1つを除いてすべてが間違っています。
チャーリーフラワー

@mplungjan「Data on theWire。Meteorはネットワーク経由でHTMLを送信しません。サーバーはデータを送信し、クライアントにレンダリングさせます」というMeteorの原則に適切に対応していないため、これらの回答はどれも満足のいくものではありません。7つの原則の最初の原則。
Alexander Mills

回答:


81

Meteorは、リアルタイムでHTMLをエレガントに更新するフレームワークです。

Meteorの優れた点は、テンプレートとデータモデルを作成するだけでよいことです。通常の定型コードの残りの部分は隠されています。すべての同期コードを記述する必要はありません。

Meteorの主要部分は、これらの部分を使用して自分で構築できます。

  • それはあなたのデータモデルが行うときに自動的に更新するテンプレートを提供します。これは通常、Backbone.jsEmber.jsKnockout.jsなどのツールを使用して行われます。

  • クライアント/サーバーメッセージングを介して行われるWebSocketを何か使用してsocks.jsまたはsocket.ioを

  • MongoDBへクライアント側の接続は本当に素晴らしいです。MongoDBサーバードライバーをクライアントに複製します。残念ながら、最後に確認したところ、彼らはまだこのデータベース接続のセキュリティ保護に取り組んでいました。

  • 待ち時間の補償は、単純に、サーバ・サーバーへの更新を送信し、最初のクライアント側モデルを更新しています。

MeteorのサイトやGitHubで見つけられる他のきちんとした断片があるかもしれません。


10
これは良いことですが、実際には問題を解決しません。
Prisoner ZERO

2
多分それは質問に隠された質問に答えます
Muhammad Umer

1
この回答は、流星がすべてのクライアント/サーバー通信をWebソケットを使用して行うことを明確に述べています。質問にも答えたと思います。
Usama Ahmed

流星のjsとノードのjsはv0.9でも関連していますか?
yozawiratama 2014年

28

免責事項:この答えは説明流星、のJavaScriptクライアントライブラリ流星サーバーを。これは元々、質問のあいまいさのために追加されたものであり、同様の回答を検索する訪問者が直面する同様のあいまいさを明確にする目的に役立つかもしれませんが、違いはわかりません。

Meteor JavaScriptフレームワークについて読むには、xer0xによるこの回答を参照しください。

Meteor Serverのドキュメントで述べたように、MeteorはCometの実装です。次に彗星はAJAXの対応物です。

AJAXの場合、通常、クライアントがそれを行う必要があると判断したときに要求を行います。サーバーから更新をプルするには、サーバーを呼び出す必要があります。5秒ごと。

コメットの場合、接続が永続的であるため、サーバーからの更新が速くなります。接続は、AJAXの場合と同様にクライアントによって確立されますが、サーバーは、何らかの更新があるか、実行制限に達するまで応答しません(サーバー上のスクリプトには実行制限がある場合があります)。

Meteorの場合は、特定のサーバー側コード(Meteor Serverなど)とクライアントで適切なコード(この場合はMeteorクラスのように見えます)を必要とする一定のデータストリームを取得するだけです。


1
MeteorとMeteor Serverがあります。元の質問は前者に関するもので、この回答は後者に関するものだと思います。meteor.commeteorserver.org
ILE

2
いいえ、Meteor.comのものはCometの高度な形式です。具体的には、長いポーリングを使用しており、Chrome開発ツールで監視できます。
wmil

1
@ile:はい、Meteorgithub.com/meteor/meteor)と呼ばれるJavaScriptフレームワークがあり、Meteor Server(meteorserver.org/client-docs)のクライアント部分であるMeteor.jsがあります。これは、これらのOPのどれが本当に念頭に置いていたのかを判断するには、あいまいすぎるためです。
Tadeck 2012

5
@ile実際、meteor.comに興味がありました。あなたのコメントの前に、私は実際にmeteorserver.orgについて知りませんでした。
ジャティン2012

2
meteor.jsフレームワークは、meteor httpサーバーではありません。フレームワークを作った人々の貧弱な命名選択にもかかわらず、詳細はmeteor.comをご覧ください。
xer0x 2012

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.