¿Es posible crear una aplicación móvil HTML5 que se vea y funcione exactamente como una aplicación nativa?

Los fabricantes de navegadores ya están haciendo un buen trabajo para cerrar esta brecha. Puede obtener la aceleración de gráficos de GPU / hardware que ahora ofrece el software del navegador mientras ejecuta su HTML5. Obviamente, ya puedes obtener aceleración de hardware con Native.

Como sabe, no puede obtener acceso completo al hardware o los datos del teléfono, porque su aplicación web se está ejecutando a su vez dentro de un navegador web, que está protegido por seguridad, así que … puede que nunca sea el caso de que tenga la igualdad COMPLETA entre lo que puede hacer con el código nativo y lo que puede hacer con el código que se ejecuta en un navegador.

Sin embargo, mencionó que está interesado en la apariencia de la interfaz de usuario en su mayor parte.

ES bastante posible crear una experiencia de usuario utilizando tecnologías web que sea muy parecida a la nativa, aunque no será exactamente lo mismo. Hay muchas bibliotecas por ahí que le permitirán diseñar sus bloques

como si fueran controles de iOS, por ejemplo, para lograr un aspecto similar, e incluso hay bibliotecas como Appcelerator Titanium que compilarán su javascript en controles nativos reales .

La otra alternativa que usan las personas son las bibliotecas escritas para permitirle acceder a funciones nativas, usando javascript, como PhoneGap, donde su código podría implementarse en un formato nativo como una ‘aplicación web’ que se ejecuta dentro de un control de navegador.

Aunque estos técnicos son geniales, tienen un ENORME trabajo por delante, tratando de crear un único punto de contacto para el desarrollador, que detrás de escena se asigna a hardware, sistemas operativos, bibliotecas de sistemas y capacidades muy diferentes. Es un objetivo ambicioso, por decir lo menos, y aunque tienen mucho potencial, no esperaría que tuvieran un rendimiento impecable. Muchas de las funciones que ofrecen simplemente no funcionan en todos los dispositivos, o no funcionan exactamente igual, lo que probablemente sea lo que esperarías como desarrollador al usar una biblioteca generalizada como esta en primer lugar.

Si desea una solución ligera, diseñe una interfaz de usuario que parezca nativa, impleméntela con HTML y anímela utilizando transiciones y animaciones CSS3. Se necesita un gran conocimiento de las tecnologías web involucradas para hacer esto, pero ciertamente es posible crear una ‘apariencia’ que funcione como lo haría un grupo nativo de controles.

Depende de lo que quieras lograr.

Si su aplicación es básicamente informativa y desea una interfaz de usuario nativa (botones, animaciones, pantallas de carga, …), puede probar Sencha Touch: las aplicaciones web tienen un aspecto muy nativo y funcionan de maravilla en iOS y también en la mayoría de los dispositivos Android

Definitivamente es posible en iOS. Muchas aplicaciones (Facebook, LinkedIn y Greplin, tocando mi propio claxon con esa última) usan vistas web de manera extensa y sin problemas. El puerto WebKit en iOS es muy rápido y potente, lo que facilita la creación de experiencias nativas en una vista web.

Desafortunadamente, el puerto Android WebKit (anterior a Android 3.0) es realmente deficiente. Tiene importantes problemas de rendimiento y no es una buena plataforma para crear aplicaciones web de calidad. Esperemos que esta situación mejore a medida que los dispositivos se actualicen a Ice Cream Sandwich.