¿Es mejor crear una aplicación web o mantener una aplicación nativa por sistema operativo?

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.

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.

Definitivamente una aplicación nativa del ecosistema en el que quieres estar presente. Veo aplicaciones web como accesos directos.

More Interesting

Apple promueve que Swift es mucho más fácil que Objective-C, pero como desarrollador experimentado de Objective-C, descubrí que Swift es mucho más difícil de aprender debido a sus características más ricas y su estilo de programación orientado al protocolo. ¿Es verdad?

¿Cuánto cuesta desarrollar una aplicación para iPad o una aplicación para tableta Android?

Cómo llenar objetos en diferentes vistas conectadas como parte de una vista de contenedor cuando las celdas de la vista de tabla se seleccionan en una vista de tabla con Xcode Swift

¿Hay alguna forma de bajar de iOS 11 Beta 3 a iOS 10.1.1?

¿Existe un mercado para aplicaciones iOS integradas con pequeñas bases de usuarios (del orden de 1K personas)?

¿Cuánto tiempo debería llevar a un desarrollador móvil experimentado portar una aplicación de iOS a Android?

¿Qué tecnología del lado del servidor basada en Java se usa más popularmente como backend / midtier para aplicaciones de Android e iOS?

Soy un poco nuevo en la programación web, pero he estudiado C y C ++ en mi universidad. Entonces, ¿cómo puedo comenzar con el desarrollo de aplicaciones en Android, iOS y Windows?

¿La barra táctil de MBP2016 es útil para los desarrolladores al desarrollar aplicaciones?

¿Cuáles son algunos de los números a los que debe prestar atención un SDK móvil (Android, iOS)?

¿Cuál es la diferencia entre iOS 9 e iOS 10 en términos de desarrollo?

¿Cuántas horas hubo entre que comenzaste a aprender el desarrollo de iOS y te ganaste la vida?

¿Cuáles son los errores más comunes que cometen los desarrolladores de juegos móviles cuando lanzan su primer juego móvil?

¿Qué quiere decir Apple cuando dice que iOS 8 incluirá soporte de calendario lunar?

¿Hay alguna manera de asegurarse de que se permita una aplicación antes de enviarla a la tienda de aplicaciones?