2012-07-21 6 views
10

¿Soporta Meteor.js la Transformación operativa?

Estoy trabajando en un proyecto que es algo relacionado con Etherpad para el que pensé en usar Meteor.js (que creo que es muy adecuado para este tipo de proyecto). La transformación operativa es muy importante para mi proyecto si pienso en hacerlo escalable. Mi conocimiento actual sugiere que el meteoro no admite la transformación operativa al salir de la caja (corrígeme si me equivoco aquí). Entonces, básicamente mi pregunta es ¿cómo implementar la transformación operacional en meteor.js?Transformación operacional en Meteor.js?

He intentado utilizar esta biblioteca google-diff-match-patch, por Neil Fraser, pero tuvo problemas al aplicar parches (aunque funcionó fuera meteor.js con bastante facilidad).

¿Alguna sugerencia?

+0

pregunta Muy bien escrita. –

Respuesta

1

Un editor de texto colaborativo en el navegador tiene dos componentes principales: el área de texto en sí, que debe comportarse bien al coordinar la escritura del usuario con otras ediciones que se reciben del servidor; y el modelo de datos para enviar, recibir y combinar estas ediciones.

Meteor hoy no proporciona ayuda especial para estas cosas específicamente, pero proporciona transporte de datos en tiempo real, y una forma de mover datos automáticamente entre el cliente y el servidor.

Si tuviera que implementar EtherPad en Meteor, siempre imaginé que utilizaría una colección como un "registro de operación". Los cambios de usuario se enviarían al servidor, donde se agregarían al registro de operaciones oficial (básicamente diffs) que se transmitiría automáticamente a todos los clientes. El cliente tendría el trabajo de aplicar diffs que entran y reconciliarlos con tipeo que aún no ha sido reconocido por el servidor.

Es un desafío de implementación difícil. ¡Buena suerte!

+0

Firepad ha logrado esto a través de las colecciones de Firebase, que son similares en espíritu. –

Cuestiones relacionadas