¿HTML5 es la mejor opción para hacer una aplicación multiplataforma?

En primer lugar, estoy respondiendo la pregunta con respecto a la web móvil. Mientras escribo esto hoy, la respuesta es un rotundo “no”.

¿Por qué? Existen aplicaciones positivas y negativas para las aplicaciones nativas frente a los sitios web que ofrecen servicios móviles. El problema que los sitios web móviles realmente no pueden resolver son:

  • No importa cuánto pulir su sitio web móvil, sigue siendo un sitio web móvil y es obvio. Los usuarios quieren aplicaciones que se vean e integren con el sistema operativo subyacente al igual que todas las otras aplicaciones que tienen. Los sitios web móviles simplemente no pueden hacer eso.
  • Los sitios web móviles no son muy reconocibles. “Hay una aplicación para eso” es un punto de venta muy fuerte para el usuario final. El usuario final ha recibido capacitación efectiva para ir a una “tienda de aplicaciones” y obtener sus aplicaciones desde allí.

Sí, hay Phonegap / Cordova, sin embargo, siempre he encontrado que este tipo de aplicaciones son deficientes. Simplemente no parecen entregar lo que yo, el usuario final, no parecen integrarse correctamente con la experiencia de la interfaz de usuario y se sienten “mal”. No confunda la plataforma cruzada con la interfaz de usuario horrible.

Mi hallazgo ha sido que si desea crear una aplicación multiplataforma, de alguna manera debe crear una interfaz de usuario nativa, integración de dispositivos nativos y compartir código. Existen varios productos que brindan acceso a controles de interfaz de usuario nativos e integración de dispositivos nativos mientras le permiten compartir código. Yo uso Xamarin, que es C # /. NET. Lo he estado usando desde 2009, funciona muy bien. Hay un producto ObjectiveC y varios productos Java sobre los que he leído. Estos productos / compañías proporcionan acceso nativo a la interfaz de usuario, integración de dispositivos nativos, API nativas a las que llamar mientras que proporcionan a los desarrolladores API / construcciones específicas de lenguaje para usar.

Si crees bien en la fantasía de una solución multiplataforma “escribir una vez”, seguro. Multiplataforma es un sueño que, cuando se intenta, da como resultado (en el mejor de los casos) una experiencia mediocre en todas las plataformas en lugar de una experiencia sólida en un puñado de plataformas acomodadas por el desarrollo adaptado a cada plataforma.

(Si bien Native es actualmente ideal para lograr esto, he visto una sola aplicación web ejecutándose en un iPhone que me costó mucho distinguir de una aplicación nativa).

Creo que algún día HTML5 se convertirá en el gran instrumento universal, pero hoy no es la mejor opción para todas las aplicaciones. Algunos expertos predicen que en 2 años HTML superará al desarrollador nativo, pero he estado escuchando tales predicciones durante varios años.
Actualmente, el desarrollo nativo es la mejor opción para cada aplicación: cualquier otra opción, incluidas PhoneGap y Sencha, son solo un compromiso

Si está creando una aplicación de catálogo simple o similar, HTML es el camino a seguir, pero para algo más complejo, hay problemas y la mayoría de ellos parecen provenir de Android.
En el pasado, he intentado construir una aplicación HTML para amigos con un formulario desplazable usando phonegap & jquery. Todo funcionó a la perfección en iOS, pero independientemente de los hacks, complementos, etc., lo intenté, nunca pude hacer que funcione sin problemas en Android.
En mi trabajo diario, construyo aplicaciones móviles para grandes bancos y corredores, queríamos lograr actualizaciones de frecuencia de <250 ms a la aplicación para las tasas de mercado. Creamos prototipos usando Websockets a partir de la especificación HTML5, pero descubrimos que teníamos que construir complementos Java para Android para permitirnos usar websockets.
iOS tenía soporte para websockets, pero el rendimiento de las aplicaciones HTML no era satisfactorio ni en iOS ni en Android.
En una nota al margen, encontramos que no había diferencia en el consumo de energía entre las aplicaciones nativas y HTML.
Nos gustaría ver una solución multiplataforma para aplicaciones móviles, ya que tener múltiples bases de códigos requiere múltiples conjuntos de habilidades, más infraestructura, etc., lo que hace que sea muy costoso desarrollar y mantener aplicaciones móviles en comparación con las aplicaciones web.
Entonces, según mi experiencia, diría que HTML aún no está listo para construir ningún tipo de aplicación móvil compleja, pero estamos esperando el día en que las plataformas móviles estén realmente listas para aplicaciones HTML.

Sí, siempre que lo acompañe con un buen marco como Sencha o PhoneGap. Con respecto a que Facebook abandonó HTML5, simplemente no sabían lo que estaban haciendo. Faceboook puede ejecutarse maravillosamente en HTML5, y Sencha ha lanzado una demostración llamada Fastbook que lo demuestra.

More Interesting

¿Cuál es la mejor manera de convertir una aplicación web en una aplicación nativa de Android?

En términos de rendimiento, ¿qué tecnología front-end debería usar entre Angular y React para crear una aplicación híbrida con Cordova?

¿Qué es el creador de aplicaciones, es la manera fácil de crear aplicaciones como WordPress para sitios web?

Redes sociales: ¿es factible para un desarrollador con $ 1000 en el bolsillo construir y lanzar una red social móvil dada la escalabilidad requerida desde el principio?

¿Existe un servicio que ofrezca la funcionalidad "enviar al teléfono" (por mensaje de texto o correo electrónico) para aplicaciones móviles?

¿Cómo pruebo si mi aplicación es realmente escalable?

¿Cuál es la mejor manera de diseñar un sitio móvil?

En general, ¿cuánto debo cobrar a un cliente (por hora) por un paquete de una aplicación web de calidad con todas las funciones, junto con aplicaciones nativas de iOS y Android?

Freelancers: ¿cuánto tiempo lleva construir una aplicación móvil y cuánto tiempo lleva construir un sitio web?

¿Cuál es el mejor marco para el desarrollo de aplicaciones multiplataforma: Ionic, Meteor o React Native?

¿Por qué no hay más demanda de ingenieros de CS Security como lo es para los desarrolladores web y de aplicaciones?

¿Puedo usar Javascript para forzar a un navegador móvil a permanecer en modo vertical u horizontal?

¿Cuál es la mejor empresa de desarrollo de CakePHP a un precio asequible en la India?

¿Cuáles son los mejores creadores de aplicaciones que requieren poca o ninguna codificación?

¿Cuál es el mejor lenguaje de codificación para crear sitios web y aplicaciones de Android, si requiero cambios frecuentes en el diseño del sitio web y la aplicación?