Las mayores diferencias están en cómo las construyes.
- PhoneGap y otras herramientas multiplataforma como esta utilizan Java Script / HTML / CSS y otras tecnologías web para crear una aplicación. PhoneGap es realmente solo un contenedor de vista web con ganchos adicionales para vincular las características nativas. (Ubicación central, cámara, etc.). Puede escribir complementos nativos que crucen el límite entre la aplicación web y el código nativo. PhoneGap le permite escribir la aplicación web una vez e implementarla en múltiples plataformas.
- Una aplicación totalmente nativa está escrita en el idioma de elección de la plataforma. iOS sería Swift u Objective-C. Android sería Java. Windows Phone sería C #. De esta forma, obtienes acceso completo a todas las funciones nativas y aceleración de hardware. Su interfaz de usuario puede ser más compleja e interactiva.
El que elijas depende de dónde están tus prioridades.
Si es un banco y está preocupado por tener su aplicación bancaria en tantos dispositivos como sea posible por la menor cantidad de dinero, entonces PhoneGap (u otra solución multiplataforma) puede ser el camino a seguir para usted. Sería la opción más barata y permite un único punto de mantenimiento. (bueno, casi solo. Todavía tienes los ganchos nativos)
- Sé algo de Python, y planeo desarrollar una aplicación web. ¿Cuáles son mis opciones tecnológicas?
- ¿Es posible asegurar aplicaciones web en estos días?
- ¿Cuáles son las ventajas y desventajas del proceso de impresión web?
- ¿Cuáles son algunas buenas formas de crear aplicaciones web?
- ¿Qué opinas de mi aplicación web de establecimiento de objetivos www.livetochallenge.com?
Si eres una aplicación de redes sociales que maneja una gran cantidad de contenido creado por el usuario y funciones de edición, es posible que desees ser nativo. El código nativo se ejecutará mucho más rápido que una solución multiplataforma. (¿Ha utilizado esas aplicaciones en las que toca un botón y finalmente recibe comentarios 3 segundos después? Es muy probable que sea una aplicación web) Obtendrá acceso directo en lugar de tener que pasar por un contenedor general. Lo único negativo es que tendrá que escribirlo para cada plataforma por separado con idiomas separados. (A menos que desee escribir la capa de datos en C y compartirla, pero eso está fuera del contexto de la pregunta)
En mi opinión, nativo es siempre el camino a seguir si puedes. Sus usuarios se lo agradecerán y usted puede sorprenderlos con divertidas características y una interfaz de usuario interactiva.