Me encontré con Meteor y, aunque parece emocionante, quiero saber cómo funciona. Me refiero a que las aplicaciones web convencionales funcionan así: tiene scripts en el servidor que toman datos de la base de datos y los agregan dinámicamente a las páginas web y los datos enviados por el usuario se agregan a las bases de datos a través de otros scripts.
Pero, ¿cómo funcionan estas cosas en Meteor? ¿Cómo se relacionan las diferentes partes de Meteor entre sí?
Respuestas:
Meteor es un marco que actualiza elegantemente HTML en tiempo real.
La belleza de Meteor es que solo necesita crear las plantillas y los modelos de datos. El resto del código repetitivo habitual está oculto. No es necesario que escriba todo el código de sincronización.
Las piezas clave de Meteor se pueden construir tú mismo usando estas piezas:
Proporciona plantillas que se actualizan automáticamente cuando lo hacen sus modelos de datos. Esto normalmente se hace usando Backbone.js , Ember.js , Knockout.js u otra herramienta.
La mensajería cliente / servidor se realiza a través de websockets usando algo como socks.js o socket.io .
La conexión del lado del cliente a MongoDB es realmente genial. Replica el controlador del servidor MongoDB en el cliente. Desafortunadamente, la última vez que verifiqué, todavía estaban trabajando para asegurar esta conexión de base de datos.
La compensación de latencia es simplemente actualizar primero el modelo del lado del cliente y luego enviar la actualización al servidor-servidor.
Puede haber otras piezas interesantes que puede encontrar en el sitio de Meteor o en GitHub .
fuente
Como se menciona en la documentación de Meteor Server, Meteor es una implementación de Comet . Comet, a su vez, es una contraparte de AJAX .
En el caso de AJAX, normalmente realiza una solicitud cuando el cliente ve la necesidad de hacerlo. Para obtener actualizaciones del servidor, deberá llamar al servidor, por ejemplo. cada 5 segundos.
En el caso de Comet, la actualización desde el servidor es más rápida, porque la conexión es persistente. La conexión la establece el cliente, como en AJAX, pero el servidor no responde hasta que tiene alguna actualización o alcanza el límite de ejecución (los scripts en el servidor pueden tener límites de ejecución).
En el caso de Meteor, solo obtiene un flujo constante de datos que necesita un código específico del lado del servidor (como Meteor Server) y el código apropiado en el cliente (en este caso parece que es de la clase Meteor).
fuente
Toda la magia con la actualización de datos en vivo se debe al sistema de seguimiento de dependencias. Puede encontrar una explicación de cómo funciona en la sección Rastreador de la documentación.
fuente