domingo, 1 de junio de 2014

Adobe Phonegap vs Apache Cordova

Pregunta importante, ¿Con qué framework desarrollo?

Como ya vimos en la introducción, Phonegap y Cordova son muy similares. De hecho, por ejemplo, la mayoría de órdenes de línea de comandos de ambos son iguales, pero unas empiezan por phonegap y otras por cordova. Lo que ocurre realmente es que el comando phonegap encapsula al comando cordova, añadiendo, en algunos casos, algún extra, pero en la mayoría de los mismos, estamos ante el mismo código fuente.

Hay que tener en cuenta que Cordova y Phonegap llevan apenas dos años existiendo por separado (este artículo se escribe en Junio 2014), por lo que es algo normal.
Entonces, si son tan parecidos, dará igual usar Cordova que Phonegap, ¿no? Todo depende.
Depende principalmente del uso que vayamos a hacer de los factores que diferencian a ambos frameworks. Este factor diferenciador es claramente Phonegap Build.
Si nuestra meta es aprender a usar alguno de estos frameworks, haciendo uso de un SDK, por ejemplo el de Android, y realizar alguna aplicación de prueba, no importa mucho si usamos Cordova o Phonegap. Con ambos vamos a compilar de forma local y a hacer pruebas sin notar diferencias entre un framework u otro más allá de que los comandos comienzan con palabras diferentes.
Si pretendemos desarrollar aplicaciones y compilarlas en varias plataformas, hacer uso de Phonegap Build puede ahorrarnos más de un dolor de cabeza. La ventaja principal es que no tenemos que disponer de ningún SDK para compilar en local nuestras aplicaciones. Nos ahorramos además, el no poder compilar para iOS desde un ordenador que no sea MAC(en local). Si estamos en MAC no tendríamos ese problema, de hecho, el SDK de Windows Phone está disponible para MacOS. Nuestro código fuente se envía a Phonegap Build, es compilado en la nube, y se nos da la opción de descargar los ejecutables para las distintas plataformas, todo muy simple. La desventaja de esto, es que el testeo de posibles errores es más lento, ya que la compilación e instalación de las aplicaciones pasa por más fases que si desde el SDK, en local, lanzamos un emulador para probarlas.

En mi opinión, la situación ideal es disponer en local de un SDK y testear la aplicación en un único sistema móvil(por ejemplo Android, como hemos hecho). Una vez que comprobemos que nuestra aplicación funciona correctamente, haciendo uso de Phonegap Build, obtenemos los ejecutables de nuestra aplicación en distintas plataformas. Esta situación ideal depende de los elementos que nos proporcionan Phonegap/Cordova, o mejor dicho, del conocimiento que tengamos de los mismos. Recordemos que algunos plugins, y ciertos eventos, no son compatibles con todas las plataformas móviles.
Esta situación es extensible al trabajo en equipos, en empresas por ejemplo. Dado que Phonegap Build nos permite pasarle el código de las aplicaciones por medio de GitHub, si usan Git como control de versiones todos los miembros de un equipo de desarrollo, el desarrollo en equipo es más ágil.
Por ejemplo, cada miembro testea los códigos de su rama(en otras palabras, la parte de la aplicación que le toca implementar) en local, hace los "merge" necesarios cuando crea oportuno a la rama master del proyecto, y cuando está lista una versión definitiva, teniendo ya creada una app en Phonegap Build enlazada al código GitHub del proyecto, basta con actualizar los ejecutables de cada sistema, y el sistema en la nube hace el trabajo por nosotros.

No hay comentarios:

Publicar un comentario