Aplicaciones móviles reactivas, multiplataforma y auto-actualizables con Meteor y Apache Cordova (Phonegap)



Meteor es un entorno ultra-simple para el desarrollo de aplicaciones web, trabaja bajo el paradigma de la programación reactiva y facilita enormemente el desarrollo de aplicaciones que requieran ejecución en tiempo real.

Por qué meteor ?

Actualmente la  web ha evolucionado hasta el punto de construir aplicaciones web en JavaScript que corren en el lado del cliente, que tienen interfaces gráficas eficientes, no recargan páginas y son reactivas.


Meteor simplifica enormemente este tipo de aplicaciones reduciendo considerablemente el tiempo y esfuerzo en el desarrollo.

Meteor trabaja gracias a:


  • Node.js
  • Fibers
  • MongoDB






es un framework libre que permite el desarrollo de aplicaciones móviles utilizando las tecnologías web HTML, CSS y JavaScript.

Nos da la posibilidad de crear aplicaciones para iOS, Android y otros sistemas operativos móviles sin la necesidad de programar en sus lenguajes nativos.


Instalando Meteor


Actualmente Meteor está soportado oficialmente para Mac y Linux ,  mediante el comando:


$ curl https://install.meteor.com | /bin/sh


(Lo siento, no hay soporte oficial para plataformas inusuales de desarrollo, pero pueden probar http://win.meteor.com/ en el caso de tener gusto por las aventuras extremas) 




Creando un aplicativo con meteor


La mayoría de operaciones en Meteor se hacen mediante el comando meteor:


$ meteor create MiApp


(Este comando al ser ejecutado crea un directorio. dentro de este  se encontrarán tres archivos: html,js y css) 




EJecutando el aplicativo con meteor


Luego de ingresar al  directorio creado por el comando meteor create:


$ meteor


(El comando meteor al ser ejecutado sin argumentos en el directorio del aplicativo inicia el servidor local en el puerto 3000: http://localhost:3000)


Descargando y probando un ejemplo

para descargar:


$ meteor create --example leaderboard


$ meteor create --example parties


$ meteor create --example todos


$ meteor create --example wordplay

para probar solo debemos ejecutar el comando meteor dentro del directorio creado


desplegar una app en meteor.com


Meteor ofrece la facilidad de utilizar sus servidores para desplegar aplicaciones.

En el  directorio creado por el comando meteor create:


$ meteor deploy miapp.meteor.com


(El comando meteor deploy nos permite publicar nuestro aplicativo en un subdominio de meteor.com de forma gratuita)

Añadiendo Cordova a Meteor


Basta con añadir las plataformas móviles soportadas, al momento se soporta iOS (en sistemas operativos Mac) y Android:


$ meteor add-platform android
$ meteor add-platform ios


Ejecutando la aplicación en un emulador



$ meteor run android


Este comando empaquetará el aplicativo, lo instalará en el emulador y lo ejecutará

Ejecutando la aplicación en un dispositivo conectado



$ meteor run android-device -p 10.0.0.4:3000


Este comando empaquetará el aplicativo, lo instalará en un dispositivo android conectado por USB y previamente configurado para desarrollo y lo conectará al servidor de Meteor especificado en el parámetro -p

Android


Al añadir Android, Meteor descargará todo el entorno y herramientas necesarias para compilar y ejecutar aplicaciones nativas, en caso de ya disponer de un entorno de desarrollo se puede usar este entorno con la variable USE_GLOBAL_ADK


$ env USE_GLOBAL_ADK=t meteor run android


Este comando ejecutaría el aplicativo usando el emulador del entorno de desarrollo disponible.

Empaquetando el aplicativo



$ meteor build /ruta/paquetes -p urlservidor:puerto


Con el comando build puedo generar los fuentes del proyecto nativo de cada plataforma, en el caso de Android puedo acceder a un apk listo para instalar, para iOS debo continuar el proceso en Xcode

Añadiendo código exclusivo para Cordova en Meteor



if (Meteor.isServer) {
  console.log("Imprimiendo en la consola del servidor");
}

if (Meteor.isClient) {
  console.log("Imprimiendo en la consola del aplicativo web");
}

if (Meteor.isCordova) {
  console.log("Imprimiendo en la consola para móviles");
}


Añadiendo plugins de Cordova




$ meteor add cordova:org.apache.cordova.camera@0.3.1


Para agregar plugins de Cordova, uso el manejador de paquetes de Meteor con el prefijo cordova:namespacedelpaquete@version







DEMO TIME




Sitios para visitar


  • http://meteor.com/
  • http://docs.meteor.com/
  • http://phonegap.com/
  • http://docs.phonegap.com/en/3.5.0/index.html
  • https://github.com/meteor/meteor/wiki/Meteor-Cordova-Phonegap-integration
  • https://github.com/meteor/solomo



Gracias A todos



Adrián Estrada
edsadr@gmail.com
@edsadr

Aplicaciones móviles reactivas, multiplataforma y auto-actualizables con Meteor y Apache Cordova (Phonegap)

By Adrián Estrada

Aplicaciones móviles reactivas, multiplataforma y auto-actualizables con Meteor y Apache Cordova (Phonegap)

  • 2,345