Apache cordova y la magia de node

Phonegap Apache Cordova node

La tecnología no deja de sorprender, cada vez programar es mas simple, existen recursos que están ahí totalmente gratuitos, como es el caso de phonegap y el el proyecto de apache cordova que con un empujoncillo de node hace magia.

¿Es mejor una app nativa?

Hay que entender que nunca habrá una absoluta "mejor forma de hacer las cosas" y en la programación mucho menos, están las personas que defienden que realizar aplicaciones nativas para android o ios es lo mejor, sin embargo, a resumidas cuentas se debe considerar que es lo que se quiere desarrollar, el tiempo y el dinero del que se dispone.

Phonegap es lo recomendable si se requiere hacer un aplicación que solo utilice algunas cosas "básicas" del dispositivo como son el gps, cámara, memoria interna, giroscopio, estado de la batería, estado de la red, alertas nativas, bases de datos, vibración, etc., creo que para hacer una app bastante buena no se necesita más, quizá el despeño de la aplicación sea milisegundos más lenta, básicamente si no requieres un rendimiento al límite del hardware, no tiene prácticamente ninguna diferencia con desarrollar una aplicación nativa.

Pero ¿Cómo funciona?

Para desarrollar una app para android, ios, entre otros, solo necesitas las habilidades de un desarrollador web: html, css, javascript; si necesitas consumir información eliges el lenguaje de programación del lado del servidor de tu preferencia, solo configuras la información de salida en json o xml para mejorar el desempeño, por último pero no menos importante necesitas tener instalado node en tu máquina.

Se instala apache cordoba de la siguiente forma:

npm install -g cordova
Con una simple instrucción en la linea de comandos se puede crear la estructura de una aplicación o agregar los plugins para comunicarse con el dispositivo. Toda la documentación la puedes encontrar en la página oficial de apache cordova

También es necesario instalar android studio para android o xcode para ios, el funcionamiento de node en conjunto con apache cordova es comunicarse con estos programas para compilar las aplicaciones, aquí radica la magia, ya que por decirlo de alguna forma, es donde se "convierte" lo desarrollado en una app lista para subirla a play store o app store.

Pequeños grandes inconvenientes

Como comentamos anteriormente se debe instalar android studio o xcode; android studio lo puedes instalar en windows, linux, osx, sin ningún problema, sin embargo para xcode necesitas una computadora con osx forzosamente, con la última versión de este sistema operativo. Otro detalle a considerar es que para publicar tus aplicaciones deberás contar con una cuenta como desarrollador; para android es un único pago y para ios un pago anual, que es más caro para variar.

Por otra parte las revisiones de la playstore son más tolerantes, a diferencia de la appstore que es muy estricta, quizá no en el desarrollo en si de la app, sino más en los derechos que puedes infringir al desarrollar aplicaciones, por ejemplo para alguna empresa que puede tener su marca registrada, que a fin de cuentas es un detalle que se termina resolviendo con más dinero. Es cuando empiezas a entender por qué hay más aplicaciones en android en en ios.

Recomiendo leer un libro de José Ignacio Hita Barraza "Apache cordova y phonegap" en donde muestra a detalle como utilizar los recursos de Apache cordova.