Plataforma de desarrollo

Desarrollo de aplicaciones con Meteor

Analizamos las funcionalidades y las ventajas que ofrece Meteor, una nueva plataforma para crear aplicaciones web en tiempo real y con gran eficiencia.

Meteor

En sus orígenes, la web fue diseñada para funcionar con sistemas que se recargan cada vez que un usuario hace algo. La aplicación del servidor renderea una pantalla completa y la envía sobre una red hacia un terminal.

Este modelo se terminó con el desarrollo de aplicaciones en JavaScript, las que corren en el cliente. Las páginas ya no se recargan, son reactivas y los cambios aparecen de forma inmediata en todas partes. Sin embargo, esto implica un gran trabajo, por lo que la nueva tecnología se ha enfocado en simplificar los procesos.

Hoy existe Meteor, un medio ambiente simple que permite desarrollar aplicaciones en poco tiempo. Lo que antes tomaba semanas, aún usando las mejores herramientas, ahora toma sólo unas horas con esta nueva plataforma.

Características principales

Las principales características de Meteor son:

  • Trabaja con JavaScript universal: El mismo código corre para el cliente y para la nube. También funciona en navegadores y móviles a través del sistema unificado Isobuild.
  • Sirve para móviles y web: Permite crear aplicaciones para iOS, Android y para web, ya que trabaja con la misma tecnología (HTML, CSS y JavaScript).
  • Funciona con un rendereo reactivo: Integra AngularJS y ReactJS o usa el framework Blaze para ofrecer la capacidad de respuesta de un “thick client”, entregando alta funcionalidad independiente del servidor central. Esto significa que cualquier actualización que se haga en los contenidos, se modificará de forma instantánea en las pantallas de los usuarios.
  • Cuenta con una plataforma online: Galaxy simplifica la implementación, la escalabilidad y el monitoreo de las aplicaciones conectadas con el cliente.
  • Usa menos código: Se puede lograr en diez líneas lo que se logra normalmente en mil.
  • Crea interfaces de usuario eficientes: Cuando los datos cambian, las modificaciones se propagan de forma confiable a los clientes y las pantallas de los usuarios. No es necesario recargar una página para ver los cambios.
  • Es integrado y flexible: Su sistema integrado termina con la necesidad de gestionar componentes y código. Además, permite conectar miles de librerías con funcionalidades adicionales y trabaja con el sistema de bases de datos MongoDB.

Principios que guían el desarrollo en Meteor

La lógica particular que norma las funcionalidades de esta plataforma, es la base de su eficiencia. Identificamos cinco principios generales que la guían:

  • Datos por cable (data on the wire): No envía HTML por la red, el servidor manda datos y deja que el cliente los procese.
  • Un solo lenguaje: Permite escribir ambas partes de tu aplicación, tanto las del cliente como las del servidor, en JavaScript.
  • Reactividad completa: El tiempo real es la configuración por defecto de Meteor. Todas las capas, desde la base de datos hasta la plantilla, se actualizan de forma automática cada vez que es necesario.
  • Ecosistema integrado: Se integra con las herramientas y frameworks de fuente abierta ya existentes, como por ejemplo, AXS, Analytics y cURL.
  • La simplicidad significa productividad: Su funcionalidad principal tiene una API limpia y clásica.

Beneficios de usar Meteor

Todas las funciones y características que mencionamos dan como resultado una plataforma potente y sencilla que tiene muchas ventajas. Los beneficios que percibimos son:

  • Usa un solo lenguaje para front y back end, combinando los elementos necesarios en una sola base de código. De esta forma, permite crear productos más rápido, con menos errores y para más plataformas.
  • Beneficia a tanto a los desarrolladores como a los clientes, ya que menos código se traduce en menos errores (bugs) y mejor calidad.
  • No presenta problemas de estabilidad. Sin embargo, no es inmune, ya que cualquier aplicación grande que sea muy accedida es susceptible a presentar problemas.
  • Es escalable, el servidor se puede escalar a cualquier número de nodos.

En IDA ya hemos usado Meteor para desarrollar algunos proyectos internos y comprobamos todos estos beneficios. Por ejemplo, lo usamos para recolectar información estadística en una base de datos y para crear un sistema CRM (Customer Relationship Management).

Hasta el momento, la única desventaja que percibimos es que la documentación no está muy desarrollada. Sin embargo, existe una comunidad activa de desarrolladores trabajando para mejorar la plataforma y sus recursos.

En Meteor.com están todos los elementos para iniciarse en este medio ambiente y en Atmospherejs se encuentra el repositorio oficial de complementos. Además, el sitio DiscoverMeteor ofrece un manual detallado para aprender a usarlo.

Si estás interesado en desarrollar un proyecto con esta tecnología, contáctanos, contamos con la experiencia y conocimientos necesarios para ayudarte.

Director de Desarrollo
Investigo lo último en tecnología web, para ofrecer soluciones innovadoras en los proyectos. Encargado de resolver problemas de integración en diversas API's, servicios y plataformas que operamos. Me gustan los proyectos perfectamente terminados, con código bien estructurado, simple y legible.

Comentarios

Ricardo

hace 6 meses

Me pueden ayudar con publish-composite? No logro resolver una union entre dos colecciones de mongo.