¿Puede HTML5 reemplazar las aplicaciones de Android e iOS?
El auge de un gran número de nuevos dispositivos móviles ha cambiado el futuro de Internet. En términos de desarrollo tecnológico, ¿HTML5 reemplazará a las aplicaciones App? ¿O hasta qué punto se puede reemplazar? En la especificación HTML5, se agregó soporte para cámaras, brújulas magnéticas e información de GPS. Muchos navegadores emergentes también han comenzado a admitir estas nuevas funciones. ¿Se puede utilizar un HTML5 unificado para reemplazar los costos duales del desarrollo paralelo de Android e iOS? Lo siguiente es una traducción de un artículo de Michael Mahemoff, que proporciona un análisis detallado de si HTML5 puede reemplazar las aplicaciones de Android e iOS.
Introducción
Las aplicaciones móviles (App) y HTML5 son actualmente las tecnologías más populares y existen muchas superposiciones entre ellas. Las páginas web HTML5 que se ejecutan en navegadores de dispositivos móviles también se pueden volver a empaquetar en aplicaciones que se ejecutan en diferentes plataformas. En la actualidad, muchos navegadores tienen un buen soporte multiplataforma (Anotación: Firefox puede usar el mismo núcleo de navegador en Android que en Windows. La solución web HTML5 es más conveniente para los desarrolladores). Complétalo una vez y úsalo en múltiples plataformas. ¿Pero es esto realmente posible? Todavía existen muchas razones necesarias por las que los desarrolladores eligen el desarrollo de aplicaciones. Al parecer, mucha gente ya lo está haciendo. Este artículo analizará en detalle las ventajas y desventajas de las dos opciones.
Funciones enriquecidas
Zhengfang: Se pueden desarrollar funciones más enriquecidas en la aplicación
Dividimos las funciones móviles en dos categorías. El programa en sí y la combinación del programa y el sistema. Por ejemplo, en Android, agregue íconos de widgets o recordatorios de notificaciones. La aplicación no tiene ningún problema con ninguno de los dos. No hace falta decir que eso es seguro.
Al contrario: la APP es bastante potente, pero la Web también se está poniendo al día
Es cierto que muchas funciones implementadas por las aplicaciones nativas están fuera del alcance de HTML5. No importa cuán increíble sea tu web, si permaneces en una zona de pruebas sin soporte para cámara, aún no podrás jugar en muchas situaciones. Afortunadamente, ya no existen tales restricciones en la zona de pruebas. Si necesita tomar fotografías de su web, puede crear una aplicación que tome fotografías y luego empaquetar su web en esta aplicación. El marco PhoneGap de código abierto hace esto. De esta forma, los widgets y recordatorios del móvil no suponen ningún problema.
Pero el problema con este tipo de desarrollo híbrido es que aumenta la complejidad y no puede ejecutarse directamente en el navegador como la web tradicional. Me temo que este problema no se resolverá en el corto plazo. Afortunadamente, los estándares de red se están expandiendo constantemente a gran velocidad y los navegadores avanzados también están haciendo lo mismo. Android 3.1 ya es compatible con la cámara. Los navegadores iOS también admiten WebSocket y la detección de orientación del dispositivo.
En general, los dispositivos móviles se están desarrollando y la web también está cambiando rápidamente. Para el navegador de escritorio en sí, hay cinco principales desarrolladores de navegadores que mejoran los estándares existentes y enriquecen nuevas funciones. Así que las aplicaciones nativas están avanzando rápidamente y, al mismo tiempo, la web también está reduciendo la brecha.
Eficiencia operativa
Ventajas: la aplicación nativa es más rápida
La aplicación nativa no tiene cuellos de botella y puede llamar directamente a la aceleración de GPU y utilizar subprocesos múltiples.
Al contrario: la Web es mucho más rápida ahora y la mayoría de las aplicaciones no necesitan ser tan rápidas.
Esta afirmación está un poco desactualizada. Javascript V8, que se introdujo cuando se lanzó Chrome, supuso un salto en la velocidad web. Y ahora, la velocidad de cálculo se ha vuelto aún más rápida:
El motor de procesamiento de imágenes ha utilizado aceleración web. Ahora también se ha comenzado a aplicar la aceleración por hardware. Eche un vistazo al lienzo acelerado por hardware (fuente del gráfico)
Si desea desarrollar juegos 3D, no hay necesidad de discutir, pero para la gente común, noticias, correos electrónicos, gestión del tiempo, redes sociales, etc. todos usan la Web. Eso es suficiente. Pruebe la herramienta de prueba de rendimiento móvil de Steve Souders. Además, cada vez se combinan más marcos con WebGL para aprovechar OpenGL. Por ejemplo, ImpactJS ayuda a desarrollar juegos JS.
Experiencia de desarrollo
Pro: la aplicación nativa es fácil de escribir
La aplicación nativa utiliza potentes lenguajes de programación (Java, Objective C, C++). Es adecuado para escribir programas complejos, ha sido verificado históricamente y tiene API ricas. Puede utilizar fácilmente el simulador para realizar pruebas en el entorno de escritorio. Los tiempos de ejecución de los programas web y el desorden de varios navegadores son confusos.
Al contrario: Generalmente la Web es más sencilla, sobre todo cuando necesita ser compatible con diferentes dispositivos.
La función inicial de la Web se limitaba a la visualización de documentos, no a la aplicación de programas. Parece que JS sólo ha estado disponible en las últimas dos semanas. Pero con JS, el mundo de la web será inmediatamente diferente. Es más, la web no es sólo estática. HTML5, CSS3 y EcmaScript Harmony (¿quién sabe qué es esto?) brindan una gran ayuda a los desarrolladores. Si le gustan C++, Java y JavaScript, sus preferencias personales también se basan en el código que haya guardado.
Pero ahora nadie puede negar que JavaScript también está en el mismo escenario que el primero.
El navegador y el tiempo de ejecución son incompatibles (fragmentados) y lo mismo ocurre cuando se miran las aplicaciones. Escribí una aplicación para Android en Java y luego tuve que enfrentarme a Objective C para iOS. Si puede escribir un programa que pueda ejecutarse en Android e iOS inmediatamente, se ahorrará problemas. Todavía no hemos mencionado WebOS, BlackBerry o Windows Mobile. Por supuesto, esto es teórico. Si desea que su programa se ejecute perfectamente en todas las plataformas, debe realizar muchas depuraciones y compromisos. Esto es lo mismo para muchas aplicaciones nativas. Diferentes versiones de sistema operativo, diferentes dispositivos. . .
La llamada fragmentación de la Web siempre ha sido así. Pero la buena noticia es que ya existen muchas buenas soluciones. La biblioteca Modernizr, si se usa bien, puede ayudarlo a ser compatible con una gran cantidad de dispositivos convencionales, sin importar qué sistema o marca sea. Consulte nuestra demostración de Google IO de 2011.
Experiencia de usuario
Positiva: la aplicación nativa está más acorde con la plataforma original
Una de las definiciones de experiencia operativa es que los usuarios quieren usarla en su programa. El sistema opera de manera coherente y unificada. Las diferentes plataformas tienen algunos hábitos establecidos. Por ejemplo, ¿qué pasará si mantienes presionado el botón? No se puede esperar satisfacer a todos los usuarios con una aplicación HTML5 unificada.
Además, la experiencia operativa de toda la plataforma está coordinada por la propia biblioteca de software de la plataforma. Simplemente llame al kit de herramientas de la plataforma para obtener soporte completo directamente y de forma gratuita.
Oposición: Nuestra Web tiene su propia tradición. Si quieres hacer una web que se sienta como la plataforma original, aún puedes hacerlo.
Como se mencionó anteriormente, la forma de la Web. desarrollo, es hacer primero una versión que sea generalmente adecuada para todas las plataformas y luego mejorarla continuamente para diferentes plataformas. Cuando estas mejoras se centran principalmente en la funcionalidad, puede elegir algunas de las plataformas que más le interesen para optimizarlas. Similar a la detección del navegador. Los miserables técnicos en los foros técnicos se quejan a menudo de esto. Hay tantas versiones diferentes de navegador. Sin embargo, si da prioridad a dos o tres plataformas principales, vale la pena dedicar más tiempo a optimizarlas.
La web tiene su propia experiencia operativa. También podemos decir que los diferentes navegadores y entornos operativos predeterminados crean una "experiencia web" única. Desde una perspectiva más amplia, este es en sí mismo un método reconocido por los usuarios. Además, hay muchos casos de éxito que no siguen los hábitos operativos nativos de los dispositivos móviles, y también lo han conseguido. ¿Piensas en la interfaz de tu juego móvil favorito? Lo mismo ocurre con muchas aplicaciones más tradicionales, como el cliente de Twitter.
Medios de comunicación
Ventaja: las aplicaciones nativas son más fáciles de llegar a los clientes
Los mecanismos de publicación de aplicaciones como Google Play y Apple Store han sido imparables en los últimos años, impulsando toda la industria móvil. Cada programador puede publicar su propia aplicación en el mercado. Los usuarios están abarrotados en el mercado para navegar, buscar y recibir recomendaciones. No sólo eso, siempre que su programa sea lo suficientemente bueno, las calificaciones de los usuarios existentes lo ayudarán a convencer a más clientes nuevos.
Al contrario: de hecho, es más fácil llegar a los clientes a través de la web
Encontrar contenido a través de la web es una forma probada y confiable. Con las URL, cada contenido publicado tiene una dirección independiente, incluidas las aplicaciones publicadas en el sitio web. Los motores de búsqueda ayudan a descubrir contenido, otros sitios web proporcionan enlaces y hay algunos sitios web clasificados similares a los mercados de aplicaciones. Los usuarios también pueden compartir su enlace por correo electrónico, mensaje de texto o en sitios de redes sociales. Los enlaces de su aplicación se pueden abrir directamente en diferentes dispositivos.
Aún no existe un sistema de puntuación unificado en la web, pero esta situación está cambiando. Mirar hacia abajo. . .
Cargos
Pro: Cargos de aplicaciones: de acuerdo con la voluntad de Dios y el sustento de las personas
“Niños de seis años hacen aplicaciones para el almuerzo, a 3 dólares cada una, vendido por millones”. A menudo escucho noticias como esta últimamente. Fabricantes de todos los tamaños también acudieron aquí, esperando ganar dinero. Los comerciantes de aplicaciones ayudan a los desarrolladores a cobrar directamente. La forma más sencilla es pagar una tarifa única. También hay cargos adicionales o tarifas de suscripción en la aplicación, que ayudan a los desarrolladores a obtener retornos estables a largo plazo.
Además, la publicidad y el patrocinio de los sitios web tradicionales también son aplicables en las aplicaciones.
Al contrario: Ganar dinero con un sitio web nunca ha sido un problema. Cada vez hay más oportunidades.
Para que la Web se convierta en la fuerza impulsora de la sociedad actual, es una condición básica tener la capacidad de cosechar recompensas de diversas maneras. Aunque el uso de la paga no es común. Pero el modelo SaaS se ha vuelto bastante popular. Los casos exitosos incluyen Google Apps, la serie de productos 37Signals y versiones pagas de varios tipos de correos electrónicos. Además, la carga directa no es el único modelo para aplicaciones web. La publicidad, los enlaces de afiliados, los patrocinios y la promoción cruzada de otros productos y servicios son todos modelos opcionales.
Los desarrolladores web que están celosos de poder ganar dinero directamente en el mercado de aplicaciones no pueden enviar directamente su URL al mercado, pero pueden crear una aplicación shell para navegar por la web y conectarse a la suya propia. . ¿Qué tal en la web? Hoy en día existen al menos cientos de aplicaciones en el mercado, si no miles, que hacen esto.
Algunos están tan bien empaquetados que ni siquiera notarás que es un programa web.
¿El mercado de aplicaciones soportará directamente los programas web en el futuro? Es difícil decirlo todavía, pero el año pasado Google creó una tienda web en Chrome. Aunque sólo se puede acceder a él desde ordenadores de sobremesa, ha despertado el interés de los fabricantes de navegadores. Todavía es un concepto preliminar en este momento, pero parece prometedor.
Conclusión
Todavía es difícil ver un ganador claro. Algunas aplicaciones son adecuadas para aplicaciones y otras son adecuadas para usar HTML5. En la situación actual, la aplicación nativa es definitivamente una opción muy importante. El desarrollo híbrido mencionado anteriormente puede ser un buen compromiso. Cuando la web esté disponible, use la aplicación para llamar a la web. Las funciones que no se pueden realizar en la web se desarrollan mediante aplicaciones.
Si eliges el método web, presta atención a los estándares web y a la mejora continua. La ventaja de la tecnología web en sí es que es compatible con una gran cantidad de sistemas operativos y dispositivos diferentes. Viéndolo negativamente, también se puede decir que está fragmentado, pero la red lo abarca todo.
Texto original en inglés: HTML5 VS NATIVO: EL DEBATE DE LAS APLICACIONES MÓVILES
Traducción al chino: unicom-china
Dirección de este artículo: http://www.williamlong .info /archives/3063.html