¿Cuáles son las ventajas y desventajas de usar PhoneGap para crear aplicaciones nativas?

Aquí hay algunos pensamientos de mi experiencia trabajando en Stay In Touch (http://www.stayintouchapp.com), que es una aplicación web móvil que envolvimos en envoltorios nativos de iPhone / Android a través de Phonegap para su distribución en las tiendas de aplicaciones:

Beneficios de crear una aplicación web móvil:
1) Solo necesito habilidades HTML5 / CSS / Javascript frente a Objective-C o Java. Hicimos las cosas aún más simples mediante el uso de Mobl (http://www.mobl-lang.org), un lenguaje específico de dominio para crear aplicaciones web móviles que compila a javascript / html.
2) Base de código único para todas las plataformas (iOS, Android, Windows 7, web móvil)
3) Pruebas e implementación rápidas (hasta que lo marque por teléfono, en ese momento estará sujeto a las condiciones de revisión de la App Store, etc.)
4) Con Phonegap, aún puede aprovechar la distribución y el pago integrado a través de App Store o Android Market

Inconvenientes:
1) Bajo rendimiento, especialmente si su aplicación es gráficamente intensa, es decir, un juego. Puede implementar el almacenamiento en caché o aprovechar algunas soluciones de terceros (es decir, Sibblingz) para la aceleración de gráficos nativos, pero en su mayor parte una aplicación nativa es mucho más rápida / fluida que la aplicación web móvil
2) Falta de widgets de UI pre-construidos, transiciones, controles estándar, etc. Su tiempo de desarrollo puede llevar más tiempo, especialmente si desea una aplicación de aspecto pulido con un aspecto nativo. Puede intentar usar Sencha Touch, JQ Touch o herramientas similares con elementos de interfaz de usuario preconstruidos, pero es probable que aún deba dedicar una buena cantidad de tiempo a diseñar la aplicación para que parezca nativa.

Entonces, ¿debería crear una aplicación web móvil o una nativa? Si está creando una aplicación que está involucrada gráficamente o que involucra operaciones computacionalmente costosas, asegúrese de que las herramientas aún no están allí para facilitar el trabajo de las aplicaciones web móviles. Si está creando algo bastante simple y no necesita ningún estilo nativo o pulido de diseño, vaya a la ruta web móvil.

Una vez fui muy optimista sobre PhoneGap, porque venía del mundo del desarrollo web. Está bien para aplicaciones ligeras centradas en documentos, pero si quieres crear una experiencia nativa … hazlo nativo.

Ventajas de PhoneGap:

  • Una base de código implementada en Android / iOS / Blackberry
  • Abstracciones simples para acceso a hardware (vibrar, GPS, etc.)

Contras de PhoneGap:

  • La experiencia general depende de las capacidades del navegador móvil
  • Lento con frecuentes actualizaciones de render
  • Poco control sobre el hardware
  • Sin gestión de memoria / caché; puede crear pérdida de memoria
  • Horriblemente difícil de depurar (sin consola JS)
  • Sin arquitectura de código estándar
  • Es confuso de usar si no entiendes lo que está sucediendo de forma nativa

Pros de nativos:

  • Más rápido y más eficiente con recursos del dispositivo
  • Las herramientas de depuración y compilación en tiempo real proporcionan una protección
  • Herramientas de diseño WYSIWIG
  • Funciona con píxeles independientes de DPI para la coherencia entre dispositivos
  • Control de grano fino sobre todo

Contras de nativos:

  • Lenguaje diferente por plataforma (Java / Objective-C)
  • Debe comprender las complejidades de cada plataforma.
  • La gestión de la memoria es imprescindible

Algunos dirían que crear una aplicación PhoneGap es más rápido … pero eso no es necesariamente cierto en todos los casos. Al ser nativo con bibliotecas e IDE modernos de terceros, se ha vuelto muy fácil diseñar un diseño tal como lo desea, de manera más racional que hackear HTML / CSS.

La dificultad de depurar PhoneGap lo convierte en una responsabilidad a largo plazo a medida que su aplicación crece en complejidad. Primero deberá ejecutar su código en su escritorio para depurarlo, pero ese es un flujo de trabajo ineficaz e ineficiente.

Si elige PhoneGap, Bootstrap + JQuery ofrece resultados decentes, pero tendrá que tener realmente en cuenta el DPI porque eso varía según el dispositivo. PhoneGap está bien para renderizar contenido HTML simple.

Técnicamente, no necesita PhoneGap para lograr una “aplicación híbrida”. Simplemente puede agregar una vista web dentro de una aplicación nativa, luego mezclar diseños nativos con diseños de vista web. Sin embargo, se aplican los mismos pros y contras.

Con todo lo que concluiría es con esto: sea ​​cual sea la funcionalidad principal, desea hacerlo realmente bien. Debe ser suave, rápido y hermoso; de lo contrario, recibirás malas críticas en la tienda de aplicaciones. Si es bonito y lento, todavía va a apestar.

He intentado todo cuando se trata de evitar el código nativo para aplicaciones móviles. Ahora solo me vuelvo 100% nativo.

No es que las aplicaciones híbridas sean malas … es que Native es mucho mejor.

More Interesting

Cómo desarrollar una aplicación multiplataforma que los coreanos puedan usar para compartir fotos de éxitos importantes en su país

Cómo ejecutar un plan de desarrollo de aplicaciones móviles exitoso

¿Morirá el SEO?

Cómo hacer una aplicación móvil para Android y / o iOS

¿Cómo pueden las nuevas empresas de aplicaciones móviles usar Apptopia? ¿Cómo se usan las métricas y qué tipo de acciones se toman después? ¿Vale la pena gastar tanto dinero en Apptopia?

¿Cuánto cuesta en general el desarrollo de aplicaciones móviles para una ubicación (aplicación IOS / Android)?

Desarrollo de UX: ¿Qué nueva característica en las aplicaciones será más atractiva que el deslizamiento de imagen de yesca?

¿Cuál es la mejor plataforma de desarrollo rápido de aplicaciones para web / móvil (empresa)?

Cómo decidir qué empresa de desarrollo de aplicaciones móviles me servirá mejor

¿Qué preguntas básicas y genéricas debo hacerle al cliente antes de comenzar el proyecto de desarrollo de aplicaciones móviles?

¿Cuál es la mejor manera de encontrar un desarrollador de aplicaciones web y móviles?

¿Cuáles son los mayores desafíos a los que se enfrentan los desarrolladores para ofrecer aplicaciones móviles exitosas de salud, bienestar y clínica?

¿Qué tipo de características lo motivarían a navegar por un menú de pub / restaurante en un dispositivo móvil en lugar de navegar por el menú impreso?

¿Cómo compartir una base de datos web con la aplicación de iPhone?

¿Cuál es la mejor fuente RSS para las noticias de inicio y desarrollo de MOBILE (smartphone)?