Phonegap

Phonegap, turbo desarrollo de aplicaciones móviles.

1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

¿Qué es Phonegap?

Sencillo, Phonegap es un framework para desarrollar aplicaciones móviles que es un claro sinónimo de sencillo. Basándose en tecnologías como HTML, CSS, Javascript, JQuery o Sencha Touch entre otras podremos realizar nuestras aplicaciones móviles en muy poco tiempo, todo depende de los conocimientos de programación web de los que dispongas, desde luego la curva de aprendizaje de Javascript o HTML siempre son mucho menos pronunciadas que aprender Cocoa y Objetive C.

Phonegap
Phonegap

¿Qué hace?

Este conjunto de herramientas, porta casi cualquier código HTML, CSS, Javascript y demás en código nativo listo para compilar en el SDK. Abstrayendo al programador de aprender código nuevo y/o más complejo, agilizando así el desarrollo y el mantenimiento de las aplicaciones.

¿Cómo?

Phonegap basa todo su potencial en un fichero javascript y una librería que se encargan de hacer el port de un lenguaje a otro. Aparte, dispone de varias API´s para poder interactuar con elementos nativos del dispositivo como la cámara de fotos o vídeo, el acelerómetro, las redes, etc. Si queremos usar los elementos propios de la interfaz gráfica del SO (pj: En iOS los navigation tool bar o los tab bars) también es posible acceder a los mismos mediante la instalación de plugins como NativeControls.

¿En qué me beneficia?

El tiempo de desarrollo es menor, bastante menor. Posiblemente sea más sencillo encontrar un programador web que un programador de iOS o Android. Es más probable disponer de un trabajador en plantilla que pueda desarrollar código HTML, Javascript y JQuery.
Y por último, pero no por ello menos importante, podremos disponer de una web basada en la aplicación móvil sin muchas dificultades o portar un proyecto web a aplicación móvil en tiempo récord.

¿Es fácil de usar?

Sí. Necesitarás bajarte el SDK correspondiente a la plataforma para la que estés desarrollando, yo pondré por ejemplo Android e iOS que son con las que he estado trabajando, así que, Eclipse y XCode 4 respectivamente. En el caso de eclipse podremos descargarnos el siguiente plugin:

https://svn.codespot.com/a/eclipselabs.org/mobile-web-development-with-phonegap/tags/r1.2/download

Esto nos generará un icono para poder realizar proyectos con phonegap de manera sencilla, dándonos la posibilidad de introducir las librerías de JQuery o Sencha directamente. Por defecto nos dirá para usar una versión que el plugin considera la última para crear el proyecto, si no estamos de acuerdo, siempre podremos introducir el Path de fichero de Phonegap que nosotros queramos.

En el caso del XCode, cuando nos descargamos los archivos de la web de Phonegap, tendremos en la carpeta de iOS un .dmg que nos instalará el plugin directamente en el XCode, con esto cuando creemos nuestra aplicación usaremos la opción “Phonegap Based Aplication”.

En ambos casos es necesaria una caperta “www” en el proyecto donde meteremos nuestros ficheros .html, .css y .js así como el fichero phonegap-version.js.

Video oficial de Phonegap @ YouTube

Venga, va… ¿No serás comercial de Phonegap, no?

La verdad es que no. Como siempre, no es oro todo lo que reluce y Phonegap tiene sus carencias. En principio no tiene trazas, y hacer debug de una app móvil se puede convertir en un verdadero incordio por mucho “console.log()” o “alert()” que tengamos en javascript.
Por otro lado Phonegap es rápido, pero código puramente nativo es más rápido aún.

Por último, si nuestro proyecto es de una complejidad muy elevada, deberíamos de plantearnos si usar este framework o no, ya que las API´s se nos podrían quedar algo limitadas, como por ejemplo el uso de la cámara del dispositivo u controles nativos específicos a los cuales no podamos acceder mediante los plugins de terceros.

¿Existe alguna alternativa?

Si nos ponemos un poco frente a Google, encontraremos AppGeiser o Titanum. Yo personalmente me quedo con Phonegap ya que el resultado que nos está dando es muy satisfactorio.

Appcelerator Titanium

AppGeyser

¿Conocéis algún otro framework? ¿Habéis trabajado con Phonegap o cualquier otra herramienta de este tipo? Cuéntanos tus experiencias con este tipo de herramientas en los comentarios.

Un saludo!

  • jmarti

    Aunque es algo reciente: http://www.lungojs.com/

    Son de unos chicos de bilbao :)

    • afernandez

      Por lo que he visto son los chicos de TapQuo, igual habrá que probarlo cuando madure un poco más el proyecto.

  • Txus Ordorika

    Pues en nuestro caso, con la versión 0.9.5 nos las estamos viendo y deseando para conseguir que la versión de Android nos abra la conexión al exterior (a pesar de tener permisos habilitados en el manifest).

    Eso sí, el binario de iOS, sin problemas.

    cada vez veo más espacio para el HTML5, y menos para las aplicaciones nativas (salvo para aplicaciones de alto rendimiento o cuando el tráfico sea un componente crítico). Así que iniciativas como lungo son más que bienvenidas :-)

    • afernandez

      La verdad es que desde el apartado del diseño las posibilidades son infinitas.

      Nosotros con la 1.2.0 tuvimos dificultades para acceder a la cámara del dispositivo que al final hemos conseguido superar. ¿Que versión de Android estáis usando con la 0.9.5?

      Un saludo y gracias por leernos! :)