Objetivo: .apk (2/2)

CocoonJS

http://cocoon.io/

Es un compilador en la nube que además de facilitar todo el proceso que hemos descrito en la artículo anterior, genera un apk con su propio navegador optimizado (si eliges esta opción). Esto significa que nuestra app se ejecutará de igual forma en distintos tipos de Android ya que no dependerá del navegador por defecto que tenga el terminal.

Image for post
Image for post

Esta herramienta es muy intuitiva y como puedes observar, entre otras opciones, para crear un proyecto basta con arrastrar un zip. Cocoon también nos permite añadir un proyecto directamente desde un repositorio de GitHub. Para la app de ejemplo que estamos utilizando, el zip puede contener únicamente la carpeta assets y el index.html ya que el config.xml lo podemos editar en línea. De todas formas, el contenido recomendado para el zip es el config.xml, la carpeta res con todos los iconos y los splashes necesarios y tu www.

Si navegas entre sus distintas opciones de la plataforma, verás la variedad de configuraciones que nos permite hacer. Por ejemplo, desde la pestaña Plugins puedes instalar cualquier plugin de Cordova así como los propios de Cocoon.

En el apartado de Settings puedes elegir entre Canvas+, System Webview y Webview+. En la documentación oficial encontrarás una extensa explicación sobre las características de cada uno. Échale un ojo aquí ;-)

Firmando la app

CocoonJS te permite subir la keystore y añadirla al proyecto. En el artículo anterior hemos descrito como generar esta clave privada gracias al keytool. Puedes subir la keystore desde el perfil de usuario > Signing keys o en la configuración del proyecto, en el apartado Signing.

Image for post
Image for post

Si decides compilar la app sin firmarla, Cocoon generará dos ficheros: Signed debug APK y Unsigned release APK. Así que tendrás que firmar el apk unsigned de la misma forma que lo hemos hecho en el ejemplo anterior. Y si decidimos subir la keystore, Cocoon nos proporciona un único fichero listo para ser publicado (en ambos casos, en las dos arquitectura de procesador).

Para compilar nuestro proyecto, hacemos click en el icono del martillito y una vez finalizada la compilación, podemos descargar el .apk desde el icono de Android y podrás probarlo directamente en tu terminal.

¡Ah! Además, puedes encontrar en la Play Store el CocoonJS Launcher y probar directamente tu app en tu dispositivo.

Cocoon proporciona una gran variedad de herramientas que nos facilita mucho la compilación de nuestras aplicaciones, como por ejemplo la Developer app que nos permite testear nuestra app en las misma condiciones de una app final.

PhoneGap Build

https://build.phonegap.com

Es el compilador en la nube de Adobe PhoneGap basado en el proyecto Cordova. PhoneGap Build nos permite subir un zip o importar un proyecto desde GitHub, igual que Cocoon.

Image for post
Image for post

PhoneGap Build compila automáticamente para iOS, Android y WindowsPhone. Después de la compilación, como vemos en la captura, la plataforma ofrece dos formas de descargarte el apk: mediante el botón Install o un QR. Al proporcionarnos el QR, agilizamos el hecho de pasar el apk a nuestos dispositivos de testeo. Así, mediante cualquier aplicación que escanea QRs, nos descargamos directamente al móvil o tablet nuestra app.

Firmando la app

Podemos añadir el keystore desde el desplegable de cada plataforma o desde el perfil de usuario. Al subir la keystore hay que desbloquearla con la clave que hemos configurado en el momento en que hemos generado la clave privada.

Una vez firmada la app y volviendo a compilarla, el nuevo apk que nos proporciona puede ser enviado a la Play Store.

Las configuraciones adicionales que queramos hacer tienen que ser fuera del cloud, como por ejemplo, añadimos plugins haciendo la referencia en el config.xml.

Consideraciones: cordova-plugin-whitelist. Comprueba este enlace si tu app necesita acceder a recursos en otros dominios.

Espero que esta mini-testimonial-guía te pueda ser de ayuda. Cualquier queja/sugerencia/pregunta coméntame si te apetece ;-)

Written by

Software dev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store