¿Se puede portar el concepto de compensación de latencia en Angular o React from Meteor?

La respuesta corta es “no”, la compensación de latencia no se puede transferir a Angular o React from Meteor. El equipo de Meteor lo ha cubierto completamente, en realidad.

Pausemos un segundo aquí. ¿Qué le da exactamente a Meteor la capacidad de realizar este tipo de simulación en el cliente, cuando marcos como Angular o Ember no pueden hacer tal cosa?

Todo se reduce a otro de los otros siete principios.

Si está intentando insertar una publicación en una base de datos, necesita, bueno, una base de datos. Aquí es donde entra en juego el principio de la base de datos en todas partes : como Meteor puede almacenar un subconjunto de la base de datos en el cliente, puede realizar operaciones en su contra y tener una idea bastante buena de cómo se verá el resultado en el servidor.

Esencialmente, Meteor puede simular una carga de datos sin hacer una carga completa desde el servidor porque usa una fuente de datos sincronizada en el lado del cliente. Por supuesto, otros marcos podrían usar una fuente de datos sincronizada en el lado del cliente, pero actualmente no lo hacen. Esto no significa que no puedan, pero lo que realmente significa es que probablemente ya estés haciendo alguna compensación de latencia, y si realmente quieres usar la compensación de latencia como Meteor, debes usar Meteor.

En mi experiencia, tan pronto como comience a usar JavaScript para un proyecto que es más grande que una caja de pan, necesita incorporar algún tipo de compensación de latencia. Las cargas toman tiempo y, en muchas circunstancias, ya tiene algo parecido a un conjunto de datos actual en algún modelo de respaldo. Marcos como Angular, Ember, Knockout … solo hacen que esto sea más probable. Tan pronto como comience a enlazar a las colecciones de respaldo en los servicios de datos, ha introducido la capacidad de precargar estas colecciones, mantener su enlace y luego actualizarlas después de la visualización. Esta es una forma de compensación de latencia, y en realidad es solo un patrón de diseño útil. La única razón por la que no puede decir que esto está integrado en estos marcos es porque tiene que construirlo usted mismo; y la razón por la que tiene que construirlo usted mismo es porque estos marcos no son bases de datos en todas partes .

Una Introducción a la Compensación de Latencia – Descubre Meteor

Creación de aplicaciones web de una sola página con Meteor

Sí puede, pero será bastante difícil …

Básicamente, cualquier código que ejecute en el cliente que cambie los datos antes o durante la solicitud al servidor es una especie de compensación de latencia.

La cuestión es que tendrá que ocuparse de muchas cosas para que funcione de una manera agradable (separe los valores temporales y permanentes mientras los muestra en la interfaz de usuario, duplique el código significativo del servidor al cliente con un idioma diferente y más ..)

  • Estoy un poco simplificado aquí …

Pero estamos trabajando en una solución en la que pueda obtener esos beneficios en cualquier tecnología.

Se llama Apollo y se basa en GraphQL: GraphQL reactivo

Incluirá todas las lecciones que aprendimos de la pila de Meteor actual durante los últimos 4 años y funcionará con cualquier pila de tecnología.

Puedes seguir a la organización Github, ya tenemos cosas muy interesantes sucediendo allí: Apollo