Tuve que hacer esta elección recientemente y elegí ser nativo.
Descubrí que los diferentes navegadores web de dispositivos móviles interpretan HTML y CSS de manera muy diferente, incluso más que los mismos navegadores web en computadoras portátiles / de escritorio. Por ejemplo, descubrí que los tamaños de fuente relativos estaban bien en modo vertical, pero en modo horizontal, el texto que se suponía que era más pequeño inexplicablemente se hizo más grande en un solo navegador en un teléfono.
Dados mis recursos limitados, me di cuenta de que al seguir la ruta web móvil, tendré que probar y admitir demasiadas permutaciones de factores de forma móviles y navegadores web móviles.
- ¿Por qué Apple no usa Swift en iOS?
- ¿Podré crear aplicaciones iOS básicas después de leer el libro Hacking with Swift de Paul Hudson?
- ¿Cuánto cuesta externalizar el desarrollo de una aplicación a la India?
- ¿Has descargado la actualización de iOS 10.3.3?
- iA Writer: ¿Por qué el auto-Markdown es demasiado intensivo en CPU para el iPad?
Ser nativo fue más fácil ya que los diseños de la interfaz de usuario son más fáciles de controlar y las plataformas parecen hacer un buen trabajo al proporcionar bibliotecas y componentes para mantener suficiente compatibilidad entre las versiones del sistema operativo móvil y los factores de forma y orientación del dispositivo. Entonces, con mis recursos limitados, nativo era mejor.
Otra cosa que encontré es que con las aplicaciones nativas tengo un acceso mucho mejor a las funciones del dispositivo como GPS y cámara.
HTML5 proporciona acceso a estas funciones, pero tiene algunas limitaciones. Por ejemplo, mi teléfono tiene una cámara frontal y otra trasera. Con HTML5 obtuve acceso a la cámara frontal, pero no pude encontrar la forma de acceder a la cámara trasera, que es lo que los usuarios usarían predominantemente.
También hay problemas de permisos para acceder a estas funciones del dispositivo. Con los navegadores web móviles descubrí que los usuarios tienen que permitir permisos en cada navegador web individual si las aplicaciones pueden usar las funciones requeridas o no, esto se aplica a cada cosa individual como cámara, GPS, almacenamiento local, etc. Con aplicaciones nativas (al menos en Android), establece los permisos necesarios en el manifiesto y el usuario los aprueba una vez antes de la instalación. Es un enfoque estándar para todas las aplicaciones nativas y es poco probable que los usuarios digan realmente que no. Mientras que con la web móvil, dudo que la mayoría de los usuarios sepan dónde establecer los permisos y preguntarles cada vez que inician la aplicación es irritante para el usuario.