¿Qué es PhoneGap y para qué podemos utilizarlo?

4min

PhoneGap es un paquete de librerías que permite empaquetar aplicaciones HTML5 de manera que puedan ser usadas como apps para móviles o Web Apps. Te explicamos los detalles más relevantes sobre esta versátil solución que nos permitirá dar el salto fácilmente al desarrollo de aplicaciones multidispositivo, aunque no podemos olvidar que también tiene sus limitaciones.

PhoneGap es una solución de Adobe que nos permite llevar el desarrollo web al mundo de los dispositivos. Se basa en una «envoltura» que nos permite ejecutar aplicaciones desarrolladas con HTML, CSS y Javascript como si fueran aplicaciones nativas para los teléfonos móviles o tablets.

Las aplicaciones que podemos desarrollar con PhoneGap se pueden publicar en las conocidas tiendas de aplicaciones (Google Play, Windows Store o App Store de Apple) y, al igual que las aplicaciones nativas, también son capaces de acceder a los periféricos de los dispositivos como la cámara, acelerómetro, etc.

Lo mejor de PhoneGap es que permite escribir una única vez el código de la aplicación, con tecnologías HTML5, y publicarlo en cualquier plataforma móvil dentro de las más conocidas. Así que, o bien desarrollas tu aplicación en nativo para cada uno de los sistemas operativos, con el consiguiente trabajo que ello conlleva, o la programas una única vez usando alguna plataforma como PhoneGap.

PhoneGap y Apache Cordova

PhoneGap no es más que un producto derivado de Apache Cordova, lo que conocemos técnicamente como una distribución y del cual hablamos en nuestro artículo sobre desarrollo de apps con Javascript. Sin embargo, hay que aclarar que el proyecto originalmente nació con el nombre de PhoneGap, y luego se cedió a la fundación Apache como software libre.

La comunidad del proyecto, Apache, decidió en 2012 cambiarle el nombre, entre otros motivos para diferenciarlo de la marca PhoneGap, que continúa en poder de Adobe.

Si te preocupa cuál deberías usar, cabe decir que, a día de hoy no hay grandes diferencias. Apache Cordova es susceptible de actualizarse más frecuentemente o más rápido, ya que se trata del producto principal. Por su parte, PhoneGap incluye algunas librerías adicionales que sirven para integrar el sistema con diversos productos de Adobe, pero salvo eso no encontrarás mucho más que los distinga.

Quién debería usar PhoneGap

PhoneGap es un excelente camino para resolver necesidades de creación de aplicaciones de una manera única y compatible con todos los dispositivos. Las ventajas saltan a la vista en este sentido, pero como todo en la vida también tiene su lado malo, ya que en rendimiento y posibilidades nunca va a poder llegar a la altura del desarrollo nativo. Por tanto, escoger o no PhoneGap para el desarrollo de un nuevo producto es una decisión que hay que tomar con cuidado.

Usa PhoneGap si:

  • Tienes intención de usar tus amplios conocimientos de Javascript, HTML5.
  • Tu aplicación no requiere exprimir el rendimiento del dispositivo. Son ideales programas de gestión o donde el contenido es parecido al que encontrarías en una web.
  • Tienes prisa en lanzar el desarrollo y necesitas un alcance global en todos los dispositivos.
  • No requieres usar intensivamente mucha variedad de sensores y periféricos.

No uses PhoneGap si:

  • No tienes conocimientos de HTML5 y/o no te importa aprender varios lenguajes para realizar el desarrollo nativo en cada sistema operativo.
  • Tu aplicación va a requerir mucha cantidad de procesamiento y quieres exprimir el rendimiento del teléfono o tablet. Los juegos son buenos ejemplos de aplicaciones que sería mejor desarrollar en nativo.
  • Solo quieres desarrollar para un único sistema operativo.
  • Quieres alcanzar todos los sistemas operativos, pero no tienes prisa para conseguirlo.
  • Quieres hacer uso de muchos sensores o periféricos específicos de cada dispositivo.

Cómo funciona PhoneGap

PhoneGap contiene una serie de librerías que te facilitan todas las utilidades que puedes llegar a necesitar sobre un teléfono. En vez de aprender las librerías propias de cada sistema con sus lenguajes, haces uso de aquellas que te proporciona el framework, usando un único lenguaje de programación, Javascript

Por ejemplo, en vez de comunicar directamente con la cámara, comunicas con las librerías de PhoneGap y éstas son las que, por medio de una especie de puente o interfaz, te permiten interactuar con la cámara, hablando en el idioma que el sistema operativo del dispositivo requiere.

Escribiendo tu proyecto para PhoneGap, en HTML5, podrás luego compilar en los siguientes sistemas operativos:

  • Android
  • Blackberry 5/6/7
  • iOS
  • WebOS
  • Windows Phone

Pero ojo, que las cosas no son tan fáciles. Aunque programes únicamente en Javascript, necesitas instalar todo el conjunto de librerías del sistema donde quieras publicar tu proyecto. Por ejemplo, si estás programando para iOS, necesitas tener tu entorno de desarrollo en un Mac, comúnmente el IDE Xcode, el SDK para desarrollo iOS, una serie de plugins adicionales y la licencia de desarrollador de Apple.

Así que ten en cuenta que, para comenzar a trabajar con PhoneGap, es recomendable realizar diversas aproximaciones que se tienen que ver por separado, dependiendo de cada uno de los sistemas operativos a los que te quieras dirigir.

Fernán García de Zúñiga

Productos relacionados: