¿Qué es una sala? Una sala es el lugar al que entras en una reunión de Google, en Microsoft Teams, o en un archivo en Figma, por ejemplo, tienes la idea de la sala que todos los que están en esta sala estarán sincronizados juntos todo el contenido, luego tienes al participante, el ID que usualmente es el correo electrónico o algún UID, y el nombre. Luego simplemente creas un nuevo puntero del ratón, pasando el elemento, lo añades a la sala, y se sincroniza y hace toda la magia.
Pero vamos aún más allá. Y veamos qué es este puntero del ratón. ¿Y cómo funciona esto entre todos estos dispositivos? Bueno, el puntero del ratón tiene tres funcionalidades principales. Tú ves cuando alguien mueve su ratón, así que obtienes la información sobre la posición de los punteros de otros participantes. Actualizas tu posición para todos, así que dejas que todos sepan dónde está tu ratón. Y luego tienes que hacerlo realmente rápido y fluido, para que no parezca lento, ¿verdad? Así que veamos cómo hacemos cada uno de estos.
El primero tenemos este estado aquí. Esto es una cosa de React, pero puede ser un simple objeto de JavaScript con una posición X y Y. Y tenemos este canal. Hablaré más sobre esto más tarde, al que me suscribo, que estoy escuchando. También voy a hablar más sobre esto más tarde. Un evento llamado movimiento del ratón. Cuando escucho algo de este evento, entonces uso esta función de callback en movimiento del ratón. Cuando se activa esta función de callback, recibo un mensaje. El mensaje contiene un dato, y el dato contiene una X y una Y, y establezco la posición del ratón a esta posición. Y luego tienes que, por supuesto, hacer todos los estilos y toda la posición superior, saludo, o algo así. Pero este es el mecanismo detrás de esto.
Por el otro lado, tenemos que actualizar nuestra posición para todos. Así que escuchamos el documento en movimiento del ratón, lo mismo, mismo callback, que recibimos un evento. Tomamos el cliente X, el cliente Y a una variable de posición, y luego lo publicamos. Así que publicamos al mismo evento que hemos visto antes, el ratón se movió, así que todos lo escuchan. Bien, ahora el corazón. Hazlo realmente rápido y fluido. Bien, así que este es el mismo código que hemos visto antes, pero con algo más añadido, una API nativa de JavaScript que es requestAnimationFrame, que nos aseguramos de actualizar a 30 FPS. Pero ese no es el punto aquí. Bien, sigamos.
¿Qué es este canal? ¿De dónde viene esto? Así que el canal, tenemos esta regla, creamos un nuevo tiempo real. Bien, así que este tiempo real es un componente que sincronizamos datos entre dispositivos y entre usuarios. En este tiempo real, podemos conectarnos a un canal.
Comments