Aplicaciones nativas con tecnología web: ventajas y desventajas de PhoneGap

En el último artículo conocimos PhoneGap, un framework que nos permite desarrollar aplicaciones mobile con características nativas a partir de lenguajes Web (HTML, CSS y JavaScript). Se trata de una opción ideal para aquellos desarrolladores web que no tienen conocimientos en Java, Objective-C u otras tecnologías requeridas por los sistemas operativos móviles. Sin embargo, PhoneGap no siempre es el mejor camino a seguir. Conozcamos sus ventajas y sus desventajas.

Ventajas

  • Facilidad. Si conocemos lenguajes Web (especialmente JavaScript), desarrollar una aplicación con PhoneGap nos resultará mucho más fácil que hacerlo a través de los SDK asociados a cada plataforma.
  • Velocidad de desarrollo. Con PhoneGap, codificamos la aplicación una sola vez y la adaptamos a múltiples plataformas, en vez de escribir una aplicación diferente para cada una.
  • Aplicación nativa. Nuestra aplicación tendrá todas las ventajas de las aplicaciones nativas.
  • Libre y gratuito. PhoneGap es open source y se puede utilizar sin costo para una primera aplicación.
  • Extensible. Existen muchos plugins para extender las funcionalidades de PhoneGap y acceder a características adicionales del dispositivo.

Desventajas

  • Malas prácticas. Muchos desarrolladores web se acostumbran a crear aplicaciones nativas con PhoneGap, sin preocuparse por aprender a utilizar el lenguaje propio de cada plataforma. Así, no están en condiciones de desarrollar aplicaciones puramente nativas cuando realmente es la mejor opción.
  • Mal rendimiento. Muchos desarrolladores de PhoneGap descubren que sus aplicaciones tardan demasiado en cargar. Esto puede deberse a la pesada estructura del framework y la necesidad de usar JavaScript para implementar efectos visuales complejos. Las imágenes también influyen considerablemente. Por eso, puede no ser una buena opción para desarrollar videojuegos.
  • Limitaciones. PhoneGap no permite manipular las características del dispositivo con tanta libertad como el SDK correspondiente. Esto puede ser un problema si la aplicación a desarrollar tiene una alta complejidad.
  • Inconsistencias. Cada sistema operativo tiene su propio diseño. Y una aplicación nativa debería integrarse visualmente con el sistema operativo donde se ejecuta. Pero esto es muy difícil cuando la interfaz es la misma para todas las plataformas.

En resumen, PhoneGap es una buena opción cuando queremos desarrollar, en muy poco tiempo, una aplicación nativa de complejidad moderada para múltiples plataformas. Pero si queremos alcanzar mejores resultados y contamos con tiempo, tendremos que emprender el camino tradicional.

Enlaces externos