Ich bin auf Meteor gestoßen und obwohl es aufregend erscheint, möchte ich wissen, wie es funktioniert. Ich meine, herkömmliche Webanwendungen funktionieren folgendermaßen: Sie haben Skripte auf dem Server, die Daten aus der Datenbank entnehmen und diese dynamisch zu Webseiten hinzufügen, und die vom Benutzer übermittelten Daten werden über einige andere Skripte zu Datenbanken hinzugefügt.
Aber wie funktionieren diese Dinge in Meteor? Wie hängen verschiedene Teile von Meteor zusammen?
Antworten:
Meteor ist ein Framework, das HTML elegant in Echtzeit aktualisiert.
Das Schöne an Meteor ist, dass Sie nur die Vorlagen und Datenmodelle erstellen müssen. Der Rest des üblichen Boilerplate-Codes ist versteckt. Sie müssen nicht den gesamten Synchronisierungscode schreiben.
Die Schlüsselstücke von Meteor können mithilfe dieser Teile selbst gebaut werden:
Es bietet Templating , dass Updates automatisch , wenn Ihre Datenmodelle tun. Dies erfolgt normalerweise mit Backbone.js , Ember.js , Knockout.js oder einem anderen Tool.
Das Client / Server-Messaging erfolgt über Websockets mit socks.js oder socket.io .
Die clientseitige Verbindung zu MongoDB ist wirklich cool. Es repliziert den MongoDB-Server-Treiber in den Client. Als ich das letzte Mal nachgesehen habe, haben sie leider immer noch daran gearbeitet, diese Datenbankverbindung zu sichern.
Bei der Latenzkompensation wird einfach zuerst das clientseitige Modell aktualisiert und dann das Update an den Server-Server gesendet.
Möglicherweise gibt es andere nette Teile, die Sie auf der Meteor- Website oder auf GitHub finden können .
quelle
Wie in der Dokumentation des Meteor-Servers erwähnt, ist Meteor eine Implementierung von Comet . Der Komet wiederum ist ein Gegenstück zu AJAX .
Im Fall von AJAX stellen Sie normalerweise eine Anfrage, wenn der Client dies für erforderlich hält. Um Updates vom Server abzurufen, müssen Sie den Server aufrufen, z. alle 5 Sekunden.
Im Falle von Comet erfolgt die Aktualisierung vom Server schneller, da die Verbindung dauerhaft besteht. Die Verbindung wird vom Client wie in AJAX hergestellt, aber der Server antwortet erst, wenn er aktualisiert wurde oder das Ausführungslimit erreicht (Skripte auf dem Server können Ausführungslimits haben).
Im Fall von Meteor erhalten Sie nur einen konstanten Datenstrom, der einen bestimmten serverseitigen Code (wie Meteor Server) und entsprechenden Code auf dem Client benötigt (in diesem Fall sieht es so aus, als wäre es eine Meteor-Klasse).
quelle
Die ganze Magie bei der Aktualisierung der Live-Daten geschieht aufgrund des Abhängigkeitsverfolgungssystems. Eine Erklärung zur Funktionsweise finden Sie im Abschnitt Tracker der Dokumentation.
quelle