¿Por qué desarrollamos aplicaciones nativas si solo podemos crear aplicaciones con HTML5 / CSS3 y Javascript y luego ejecutarlas en un contenedor?

Debido a que HTML / CSS / JS se crearon para ser flexibles, no para ser eficientes.

Es muy similar a por qué todavía hay sistemas escritos en C / C ++. Debido a que cuanto más se acerca el lenguaje al hardware, más eficiente puede ejecutarse, lo que sigue siendo muy importante en el espacio móvil actual debido a las limitaciones de duración de la batería.

HTML / CSS / JS también son (en su mayor parte) lenguajes estandarizados. Para agregar funciones a estos idiomas, deben enviarse a los creadores de estándares (como w3c). Esta estandarización es excelente para los desarrolladores web porque significa que su código generalmente se ejecutará igual en cualquier navegador, pero tiene el costo de que las nuevas funciones sean más lentas de implementar. Las cámaras, los acelerómetros, el GPS y los gestos táctiles son tecnologías bastante universales en los teléfonos móviles en la actualidad, pero aún carecen de todas las API estandarizadas necesarias para que las tecnologías web las aprovechen al máximo.

También vale la pena señalar que HTML / CSS / JS son todos lenguajes / formatos interpretados. Debido a esto, para “ejecutarlos” deben estar asistidos por un motor web … otra capa de ineficiencia entre el código y la ejecución de ese código.

Debido a esta sobrecarga de interpretación, las aplicaciones móviles generalmente se escriben en lenguajes compilados para que la conversión y la optimización del origen al ejecutable se realice una vez por la máquina del desarrollador, en lugar de realizarse en el dispositivo de cada usuario que ejecuta la aplicación.

Hago la mayoría de mis aplicaciones con solo HTML + javascript. La mayoría de las veces son aplicaciones muy simples como sitios web o guías prácticas. Pero una vez hice un juego de acción muy simple y funcionó bien. Luego puse anuncios en el juego, olvídalo, el rendimiento tuvo un éxito. Utilizo el servicio de compilación phonegap para compilar los juegos y aplicaciones que hago.

Entonces, para las aplicaciones normales, HTML está bien. Para las aplicaciones de juegos, asegúrese de hacer algo muy simple o podría no funcionar correctamente. Aquí hay una aplicación web convertida a un apk que ejecuta la velocidad nativa

Amazon.com: Celebrity News the Latest: Appstore para Android

También puedes descargar un juego simple que hice para mostrarte el problema de rendimiento.

Amazon.com: Danny Vs Zombies: Appstore para Android

Cualquier otra pregunta no dude en preguntar Tengo algo de experiencia en este tema.

La seguridad y el rendimiento de la aplicación nativa generalmente están garantizados ya que su necesidad de ser aprobada por la tienda de aplicaciones.

Las aplicaciones nativas son más rápidas y fáciles de usar.

La aplicación nativa se puede integrar completamente con el dispositivo.

Las aplicaciones nativas pueden ejecutarse en un modo fuera de línea, es decir, sin conexión a Internet con la base de datos local.

Nativo lo necesita

Si necesita interactuar con el hardware desde un escritorio, html / js no puede hacer todo

Todo depende de lo que necesites hacer. Una aplicación grosera como la que puede elegir lo que quiera. Para cosas 3D / gráficas complejas, una aplicación nativa podría ser mejor y más fácil de construir

La experiencia del usuario es otro punto. Puede imitar mucho pero no todo si no tiene acceso al kit de herramientas nativo

¡Se trata de la experiencia del usuario!

La mayor parte de la importación es la experiencia del usuario, solo debe ser rápido y no ser molesto. Esta es una buena aplicación de diseño. Esto responderá a su pregunta, en general es para la experiencia del usuario.

Por encima del consejo de Shopify China: expanda su negocio a los chinos en la Tierra

Velocidad, supongo.

Compare una aplicación nativa con una aplicación híbrida en su dispositivo móvil y verá rápidamente la diferencia.

Es por eso que herramientas como react-native serán de ayuda en el futuro más cercano.