Je suis tombé sur Meteor et même si cela semble passionnant, je veux savoir comment cela fonctionne. Je veux dire que les applications Web conventionnelles fonctionnent comme ceci: vous avez des scripts sur le serveur qui prennent les données de la base de données et les ajoutent dynamiquement aux pages Web et les données soumises par l'utilisateur sont ajoutées aux bases de données via d'autres scrips.
Mais comment fonctionnent ces choses dans Meteor? Comment les différentes parties de Meteor sont-elles liées les unes aux autres?
Réponses:
Meteor est un framework qui met à jour élégamment le HTML en temps réel.
La beauté de Meteor est qu'il vous suffit de créer les modèles et les modèles de données. Le reste du code passe-partout habituel est caché. Vous n'avez pas besoin d'écrire tout le code de synchronisation.
Les pièces clés de Meteor pourraient être construites vous-même à l'aide de ces pièces:
Il fournit des modèles qui se mettent à jour automatiquement lorsque vos modèles de données le font. Cela se fait normalement en utilisant Backbone.js , Ember.js , Knockout.js ou un autre outil.
La messagerie client / serveur se fait via des websockets en utilisant quelque chose comme socks.js ou socket.io .
La connexion côté client à MongoDB est vraiment cool. Il réplique le pilote du serveur MongoDB dans le client. Malheureusement, la dernière fois que j'ai vérifié, ils travaillaient toujours à la sécurisation de cette connexion à la base de données.
La compensation de latence consiste simplement à mettre à jour d'abord le modèle côté client, puis à envoyer la mise à jour au serveur-serveur.
Il peut y avoir d'autres éléments intéressants que vous pouvez trouver sur le site Meteor ou sur GitHub .
la source
Comme mentionné dans la documentation de Meteor Server, Meteor est une implémentation de Comet . Comet à son tour est un équivalent d' AJAX .
Dans le cas d'AJAX, vous faites généralement une demande lorsque le client voit le besoin de le faire. Pour extraire les mises à jour du serveur, vous devrez appeler le serveur, par exemple. toutes les 5 secondes.
Dans le cas de Comet, la mise à jour du serveur est plus rapide, car la connexion est persistante. La connexion est établie par le client, comme dans AJAX, mais le serveur ne répond pas tant qu'il n'a pas été mis à jour ou qu'il n'a pas atteint la limite d'exécution (les scripts sur le serveur peuvent avoir des limites d'exécution).
Dans le cas de Meteor, vous obtenez juste un flux constant de données qui nécessite un code spécifique côté serveur (comme Meteor Server) et un code approprié sur le client (dans ce cas, il semble qu'il s'agit de la classe Meteor).
la source
Toute la magie de la mise à jour des données en direct se produit grâce au système de suivi des dépendances. Une explication de son fonctionnement peut être trouvée dans la section Tracker de la documentation.
la source