Descubriendo meteor

Muy buenas, durante las últimas semanas he estado indagando y desarrollando sobre un framework javascript llamado meteor que realmente me ha sorprendido. Se trata de un framework full stack, es decir, abarca tanto la parte del servidor y del cliente de la aplicación web.

La gran diferencia que presenta meteor con respecto a otros frameworks es su capacidad para construir aplicaciones en tiempo real a través de un sistema de publicaciones y subscripciones en la parte servidor y cliente respectivamente.

Ahora os explicaré brevemente cómo funciona la plataforma que monta meteor para conseguir la reactividad de los elementos de la página web:

  • El servidor se vincula con una base de datos en mongodb y se crean colecciones a partir de ella.
  • El servidor publica esas colecciones según los filtros que se definan. Por ejemplo, sólo publicar los contenidos de las colecciones que sean propiedad del usuario logueado.
  • El cliente (web o móvil) crea una base de datos minimongo en el Local Storage del navegador.
  • El cliente se subscribe a las colecciones publicadas por el servidor. En este momento también puede filtrar los datos a nivel de cliente, un ejemplo puede ser una paginación o un filtro introducido por el usuario.
  • Cualquier cambio que se produzca en un dato reactivo (que exista en alguna colección) se guarda en primer lugar en la base de datos minimongo del cliente. En este punto se puede hacer una validación desde cliente.
  • Inmediatamente después, el cambio se propaga al servidor (aquí se vuelve a hacer una validación) y si todo está correcto, se propaga el cambio a todos los clientes registrados. Se puede dar el caso, que la validación en cliente pase y la validación en servidor no, en este caso el cliente se actualizará con los datos del servidor provocando un error de validación.
  • Si todo va bien, el cambio se propaga a todos los minimongo y se verá reflejado de forma inmediata con lo que la sensación de tiempo real es verdaderamente sorprendente.

Además de todo esto, meteor te facilita mucho la vida en la gestión de paquetes ya que incorpora su propio gestor y es realmente sencillo instalar y mantener módulos compatibles con la plataforma. Podéis echar un ojo a todos los módulos en esta web atmospherejs.com

[codeblocks name=’gestor’]

Otra gran ventaja de meteor es la posibilidad de crear la versión móvil en Android e IOS de manera automática, sólo tenemos que añadir la plataforma con un sencillo comando[codeblocks name=’movil’] y generará los paquetes necesarios para compilar la aplicación web usando Cordova.

Por último comentar que también puedes disponer de alojamiento gratis en sus servidores para hacer deploys de tus aplicaciones web en desarrollo para enseñar tus prototipos a clientes. Tan sólo debes ejecutar [codeblocks name=’deploy’] y tendrás accesible tu web en nombreweb.meteor.com.

En definitiva, meteor es una alternativa muy interesante a los numerosos frameworks Javascript que están saliendo ya que es full stack, permite crear aplicaciones en tiempo real y te da grandes facilidades como el gestor de módulos, el alojamiento gratuito y la posibilidad de crear apps en Cordova.

Seguiremos informando