¿Que es Meteor JS?


¿Qué es Meteor?

Meteor es una nueva infraestructura de JavaScript que tiene como objetivo automatizar y simplificar el desarrollo de aplicaciones web que actúan en tiempo real. Usa la comunicación en tiempo real mediante un protocolo llamado Distributed Data Protocol (DDP), que es soportado por navegadores modernos que usan WebSockets o en navegadores antigüos que soporten "long polling". En ambos casos, la comunicación navegador-servidor es transparente para el usuario.

¿Qué lo hace especial?

Para entender mejor, les propongo hacer un ejercicio mental. Imaginemos que abrimos dos ventanas del explorador de archivos de nuestra pc mostrando la misma carpeta. Ahora borramos un archivo en una de las dos ventanas. ¿Habrá desaparecido en la otra?

Para entender mejor, les propongo hacer un ejercicio mental. Imaginemos que abrimos dos ventanas del explorador de archivos de nuestra pc mostrando la misma carpeta. Ahora borramos un archivo en una de las dos ventanas. ¿Habrá desaparecido en la otra?

Cuando modificamos algo en nuestro sistema de archivos local, el cambio se aplica en todas partes sin necesidad de actualizar o callbacks. Simplemente sucede.

Ahora pensamos que sucedería si esta misma situación se diera en la web. Por ejemplo, digamos que abrimos el mismo sitio en WordPress en dos ventanas del navegador y creamos un post en una de ellas. A diferencia del escritorio, la otra ventana no reflejará el cambio a menos que la recargues o actualices el navegador.

Nos hemos acostumbrado a la idea de que un sitio web es algo con lo que solo te comunicas por momentos o sólo cuando hacemos una acción. Meteor es parte de una nueva ola de frameworks y tecnologías que buscan desafiar el statu quo haciendo webs reactivas y en tiempo real.

Un paso más allá en bases de datos.

Meteor proporciona varias ventajas para el usuario además de su reactividad. imaginen que Meteor brinda dos bases de datos: una base de datos del lado del cliente (cache) y una base de datos MongoDB en el servidor. Cuando un usuario modifica algún dato—haciendo clic en Save, por ejemplo,—el código JavaScript que se ejecuta en el navegador actualiza la base de datos en MongoDB local y luego realiza una solicitud de DDP al servidor. El código actúa de inmediato como si la operación hubiera sido exitosa ya que no necesita esperar la respuesta por el servidor. Mientras tanto, el servidor se actualiza en segundo plano. Si se produce un error en la operación del servidor o si devuelve un resultado inesperado, el código JavaScript del lado del cliente se reajusta inmediatamente según los datos devueltos recientemente del servidor. Este ajuste se denomina compensación de latencia y genera una cantidad de velocidad adicional que el usuario percibe.

Este proceso de actualización y comunicación con la base de datos, produce un salto de cuantico en la performance hasta ahora conocida por los usuarios web. Ya que dicio de otro modo, cuando el usuario actualiza un dato, lo está actualizando localmente y en segundo plano con el servidor, hecho que con tecnologías convecionales (php, .net) ocurre de forma secuencial.

Mismo idioma para el server y el cliente

Otra característica importánte es que el código que se ejecuta en el server es JavaScript al igual que en el cliente. Como Meteor usa Node.js, se utiliza JavaScript en el cliente y en el servidor. Y más aún, Meteor es capaz de compartir código entre ambos entornos. Utilizando la técnica de "long pooling" cada vez que un cliente contacta a un servidor Meteor, deja abierta una petición extra con el cliente reteniendo indefinidamente la respuesta hasta tener algo que enviarle. De esta forma mantiene la Reactividad del sistema.



Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
Image CAPTCHA