¿HTML5 multiplataforma para apps móviles o desarrollos nativos para cada OS?
!- Categoría: iOS
A raiz del caso Facebook y las palabras de Zuckerberg sobre que HTML5 ha sido su mayor error estratégico
Ordenar por: Más útiles | Recientes | Cronológico
14 Respuestas
-
!
Karma: -17.5 (4 votos)
Sin duda HTML5, pero resulta más cómodo tener una aplicación a mano que además te de notificaciones constantes y no te haga perder tiempo abriendo el buscador y escribiendo algo.
La solución sería desarrollar la interfaz con el mismo HTML5 + CSS3 de la propia página hecha para navegador e implementar un back-end “estándar” de red social con sus actualizaciones, notificaciones y demás.
-
!
Estás confundiendo HTML5 con WebApp. Puedes realizar una app con interfaz html y distribuirla a través de las Stores (siempre y cuando pasen las restricciones en el caso Apple/Microsoft), el autor da por hecha esa diferencia a la hora de hacer la pregunta.
Con respecto a lo que defines como “solución” es lo que te comento arriba, es la forma de hacer las apps html que se distribuyen en las stores: html5/css/js para la interfaz de usuario. Hay muchos frameworks que permiten hacerlo, entre ellos Phonegap y Rhodes, pero hay más. El problema que tiene este tipo de aplicación es que es redenderizada por el navegador del dispositivo de turno, por lo que se pierde bastante en rendimiento.
-
!
(Contesto a Juan M Gomez)
Se que de forma nativa tiene la ventaja de que no toca renderizar, pero es una solución en el momento que alguien dice: “Estamos esforzándonos mucho con HTML5” y realmente acaban sin tiempo para aplicaciones nativas, que claramente son mejores.
En mi opinión es mejor eso que nada, y es lo que quería exponer. ¡Ojo la de votos negativos que me habéis atribuido =S bué es igual…!
-
!
Karma: 17.5 (5 votos)
Claramente una app nativa, nunca va a tener el rendimiento ni la fluidez una app de html5 como una nativa.
-
!
Karma: 5.5 (3 votos)
¿Esto es como preguntar C o Java? Que corra en todos los lados o que vaya más rápido.
Pues yo elijo Java si la aplicación no necesita mucho recurso y C si es pesada.
-
!
En un móvil siempre es vital el bajo consumo de recursos. Por la poca potencia y por ahorrar batería.
-
!
brillante
Karma: 67.5 (13 votos)
Creo que el HTML5 es una forma de llegar a mas dispositivos en menor tiempo de desarrollo y de una forma mas barata, pero el rendimiento que te da una aplicación nativa (bien hecha claro) es muy superior a lo que te puede ofrecer el HTML5.
Así que como casi todo en esta vida, depende del dinero que te quieras gastar en desarrollar tu aplicación, y del tiempo que dispones para desarrollarla.
-
!
brillante
Karma: 40 (5 votos)
La mejor solucion creo que seria estar en el medio, con la propuesta que ofrece Xamarin con Mono y .NET, donde podemos tener todas las ventajas del desarrollo nativo (IOS, Android y WP7) junto con un nivel de portabilidad aceptable que esta entre el 50 y 80 porciento.
-
!
Con Mono y .NET no estás en el medio, estás en el lado nativo ;)
-
!
Me refiero a medio, basado en portabilidad. Una aplicacion hecha con HTML5 es muy portable mientras una hecha con las herramientas nativas (Objective-C, Java) uno no tiene mucha portabilidad que se diga.
-
!
#Gustavo Entiendo que te refieres a la hora de realizar migraciones como desarrollador, mi respuesta está orientada al resultado final,a lo que percibe el usuario.
-
!
Karma: 5 (0 votos)
Para una app sencilla, e incluso con algún servicio alojado en un servidor, lo mejor es HTML5. Al fin y al cabo, al cliente, al usuario, solo le importa que la app funcione, así que ¿porqué no?
En cambio, si es una app que necesite prestaciones más… “avanzadas”, sí que es mejor optar por que sea nativa.
-
!
Totalmente en desacuerdo. El cliente quiere la mejor aplicacion, con el mejor rendimiento. Otra cosa diferente es que lo quiera mas barato, y ahi ya entramos en lo que sepa hacer cada uno
-
!
Karma: 15 (1 voto)
Nativas, por supuesto, al menos para mí. Menor consumo y mayor velocidad, por no hablar de la mejor integración con el SO y otras ventajas.
-
!
Pero muchas veces prefieres portabilidad antes que velocidad (hasta cierto punto, claro).
-
!
Karma: 20 (4 votos)
Quien pregunta eso no ha probado realmente lo que da de si el tema de apps hechas en html5, como le pasó a facebook hasta que lo probó.. del todo. Claramente, nativas. O mejor, soluciones como lua con Corona o C# y Mono… pero el html5 tiene un performance y una relacion con los dispositivos que se quedan cortos.
-
!
Karma: 5 (0 votos)
Yo creo que lo ideal sería que los SO móviles facilitasen mas la programación en javascript (algo como gnome: https://live.gnome.org/Gjs) y además ofreciesen un framework en HTML5 compatible con su interfaz de usuario nativa. Así solo habría que adaptar un poco el código del core para pasar de una plataforma a otra o de web a nativo.
Lo sé, es utópico
-- editado por última vez a las 19:54
-
!
ya existe una solucion similar a la que planteas.
-
!
lamejor
Karma: 105 (18 votos)
Hoy: Nativo.
Mañana: HTML5. -
!
Karma: 2.5 (1 voto)
Si la aplicación necesita mucha potencia del terminal, o bien el uso constante de características exclusivas de éste: juegos, tratamiento de imagen, de sonido, etc: Aplicación nativa.
Para aplicaciones más sencillas yo tendría en consideración el presupuesto. Si es ajustado, mejor HTML5. Si el dinero no es problema, aplicación nativa intentando sacar partido a todas las posibilidades de la API de cada OS.
-
!
Karma: 5 (0 votos)
Si la aplicación necesita mucha potencia del terminal, o bien el uso constante de características exclusivas de éste: juegos, tratamiento de imagen, de sonido, etc: Aplicación nativa.
Para aplicaciones más sencillas yo tendría en consideración el presupuesto. Si es ajustado, mejor HTML5. Si el dinero no es problema, aplicación nativa intentando sacar partido a todas las posibilidades de la API de cada OS.
-
!
Karma: 5 (0 votos)
el problema es que HTML5 va acompañado de estilos CSS, de código javascript y claro, montar todo eso para un dispositivo limitado como un móvil supone un problema.
hasta que estos dispositivos no sean bastante más potentes, apps nativas sin dudarlo. -
!
Karma: 5 (0 votos)
Yo siempre utilizo codigo nativo en mis desarrollos moviles por el mayor rendimiento que se obtiene y también porque es mucho mas facil acceder a la funciones y recursos del dispositivo, pero también es cierto que el poder con un solo desarrollo abarcar todo dispositivo posible, es muy atrayente. Tengo muchas ganas de poder probar el Firefox OS, que ya pude toquetear en directo en un evento Mozilla, creo que puede suponer un avance muy significativo para HTML5 y quizá que decante la balanza si consigue extenderse.
-
!
Karma: 5 (0 votos)
Claramente hay que separar. Desde el punto de vista del usuario la usabilidad y velocidad serán mejores con aplicaciones nativas. Desde el punto de vista del desarrollo y la compatibilidad es mucho más simple una aplicación HTML5 que correrá hasta en symbian. En resumen, si se busca masividad y buscar usuarios lo mejor sería aplicaciones nativas. Si se busca funcionalidad (como sistemas de información) mejor una aplicación HTML5 y no arriesgarse a que el jefe cambie el teléfono.
-
!
Karma: 23 (1 voto)
Yo creo que depende del caso, en algunos casos es mejor hacer la aplicación en Nativo, por ejemplo, Instagram necesita tirar de nativo para hacer un post-procesado de imagen rápido, pero en Canvas se notaria el bajon de rendimiento (con permiso de Ludei que esta consiguiendo un rendimiento increíble en Canvas gracias a CocoonJS).
Pero hay que ser prácticos y sobre todo hay que investigar y exprimir la plataforma si trabajas con HTML5, si la gente de facebook se hubiese preocupado por optimizar y exprimir la plataforma hubiesen conseguido mejores resultados, pero inyectar HTML directamente en una aplicación es un claro error de arquitectura y mas con conexiones inalámbricas de por medio, si a eso le sumamos la segmentación de Android en cuanto a versiones la cosa se complica.
En resumen, hace 2 años era una idea loca, hoy se acerca mucho mas a la realidad el desarrollo con HTML5 con la llegada de iOS 5 y Android 4, así como el apoyo a Apache Cordova (que aparte permite extender el desarrollo en Javascript con plugins en nativo).
-
!
Karma: 5 (0 votos)
Ya, claro, y si las acciones de Facebook se hunden… también es culpa de HTML5? Creo que Facebook está sobrevalorada con código nativo y con HTML5.
-
!
brillante
Karma: 30 (2 votos)
En mi opinion no tienen que ser excluyentes:
Una aplicación nativa que conecte con webservices que proporcionen codigo HTML5 para cada elemento a presentar. De esta forma, la aplicacion nativa permite notificaciones push, la carga inicial es mas rapida y la cantidad de datos a transmitir es menor.
-
!
Karma: 5 (0 votos)
Entiendo que las empresas tienen un presupuesto limitado, pero para el usuario la respuesta y velocidad son claves para utilizar una aplicación.
Hacer la aplicación HTML5 puede abaratar los costes, pero como resultado dará poco rendimiento: ancho de banda limitado, quota de datos limitada, dispositivos con potencia limitada, consumo limitado, etc.
Hacer la aplicación nativa aumenta los costes, al tener que desarrollar una aplicacion por cada sistema. Sin embargo soluciona todos los problemas anteriores y proporciona notificaciones y caché. Además solo hay 2+1 plataformas masivas: Android, iOS y WP.
-
!
En HTML5 también dispones de la opción de caché. Y piensa que aunque hayan pocos aún sigue habiendo mucha gente con blackberry, así que sería 3+1 más bien, ya que la gente al ver el nuevo iPhone se está pensando en pasarse al Nokia Lumia 920 :)
-
!
Tambien es posible acceder a notificaciones, basta con revisar herramientas como phoneGap, appcelerator o BrightCove AppCloud.
Para mi, el verdadero problema se encuentra en el rendimiento. En cuanto a acceso a características del terminal, es posible acceder absolutamente a todas ellas (si no todas, si la gran mayoria), pero las aplicaciones se resienten muuuucho cuando se van haciendo complejas (scrollers horriblemente lentos, swipes desesperantes, navegacion entre views muy pesada…).
Por tanto, para mí, si la aplicacion es sencilla/ligera, HTML5; si la aplicación es compleja/pesada, nativa sin ninguna duda.
-
!
Karma: 8 (0 votos)
Si es empresa grande, nativo sino multiplataforma.
Las pequeñas empresas no podemos malgastar el dinero haciendo 3-4 versiones de una app.
Como solución multiplataforma os propongo echar un vistazo a Adobe AIR que próximamente funcionará en Windows Phone 8 además de iOS y Android.
No es una solución nativa, pero el rendimiento es muy bueno, además trabajas con AS3 (orientado a objetos) o Flex (todavía mejor) y tienes una API que da acceso a todo el SO (multitouch, camara, ficheros, acelerómetros, GPS...).
Si te van los juegos Starling es la solución para la multi-plataforma bajo Adobe AIR :)
-
!
Si trabajas sobre una API creada por ti y por tanto multiplataforma no tendrás que hacer grandes ajustes. Tu tendrás tu API para iOS o para Android, y lo único que tendrás que hacer es utilizar la funcionalidad que te proporciona tu API, que obviamente conecta con la app nativa.
Esto, es cierto, que conlleva un mayor esfuerzo inicial, porque tienes que hacer wrappers de una gran cantidad de métodos. Pero a la larga, y sobretodo si quieres portabilidad, es lo mejor.
Todos esos frameworks que encuentras por internet para desarrollo multiplataforma se hacen así. La diferencia es que ellos te dan una API multiplataforma completa, y tu solo tienes que centrarte en los requisitos de tu aplicación y poco a poco ir aumentandola.
-
!
Karma: 5.5 (1 voto)
Si es empresa grande, nativo sino multiplataforma.
Las pequeñas empresas no podemos malgastar el dinero haciendo 3-4 versiones de una app.
Como solución multiplataforma os propongo echar un vistazo a Adobe AIR que próximamente funcionará en Windows Phone 8 además de iOS y Android.
No es una solución nativa, pero el rendimiento es muy bueno, además trabajas con AS3 (orientado a objetos) o Flex (todavía mejor) y tienes una API que da acceso a todo el SO (multitouch, camara, ficheros, acelerómetros, GPS...).
Si te van los juegos Starling es la solución para la multi-plataforma bajo Adobe AIR :)
-
!
Karma: -30 (5 votos)
iOS -> nativo
El resto -> HTML5 -
!
Karma: 5 (0 votos)
La cuestión en si no es “mañana HTML5” o “nativo es mas rápido”. Es cierto, hoy por hoy las aplicaciones nativas son las que ofrecen un mejor rendimiento pero ¿A que costo? Si quieres desarrollar algo para dos plataformas necesitas dominar dos lenguajes, dos frameworks (depende del caso) y obviamente tener doble trabajo, cosa que no es demasiado rentable, menos si eres un desarrollador independiente.
También vale tener en cuenta cuales son las aplicaciones que pueden ser en HTML5 o nativas, porque bueno, en honor a la verdad la actual app de facebook en Android da pena.
Pero también entra en el campo esto nuevo llamado “sistemas HTML5”, ¿Alguno recuerda FirefoxOS o Tizen? Sistemas operativos hechos para correr aplicaciones HTML5 nativamente permitiendo que sean más rápidas, portables y obviamente multiplataforma; que delicia saber que lo programo para el navegador y me va a ir perfecto (o al menos a funcionar en un principio) en el teléfono.
Son demasiadas cosas a tomar en cuenta, de hecho, para mi la respuesta es:
¿Vas a desarrollar algo propio para una sola plataforma? Entonces nativo.
¿Quieres hacer algo mas completo y quieres expandirte? Pues si no quieres perder todo, mejor usa HTML5
-
!
Karma: 5 (0 votos)
HTML5 tiene camino por recorrer pero mucho me temo que esta noticia puede ser un freno para que desarrolladores elijan HTML5 como punto de partida para sus desarrollos. Esta claro que la experiencia de apps nativas frente a apps realizadas con HTML5, jquery mobile, phonegap… aun estan muy lejos, pese a los esfuerzos que se hacen al respecto. El OS mobile de firefox, web works de blackberry, el continuo desarrollo de phonegap, y la aceptación de estandares web por parte de microsoft para realizar aplicaciones metro nos anuncian que HTML5 va a seguir dando guerra.
-
!
Karma: 5 (0 votos)
app con poco budget y que no necesita demasiados recursos: html5.
Para todo lo demás nativo.
Las webapps aun tienen un rendimiento demasiado pobre, ya veremos mas adelante. -
!
brillante
Karma: 48 (6 votos)
Las dos cosas
O es que eligen la tecnología a usar antes de conocer el problema a resolver?
Desarrollar software es una actividad socioeconómica, y por tanto tiene recursos limitados (ya sean dinero o tiempo, si no es que son la misma cosa).
Si un cliente necesita algo que se puede resolver bien con una webapp, entonces será sin dudas más socieconómicamente viable una webapp que 3 o 4 aplicaciones nativas.
Si en cambio los requerimientos incluyen funcionalidades que no están disponibles por una webapp, habrá que hacer aplicaciones nativas.
-
!
Karma: 8 (0 votos)
Depende de lo que vayas a desarrollar, si vas a hacer un juego o una aplicación grande, obviamente te vas a ir por desarrollo nativo; si lo que vas a hacer es una aplicación para rellenar un formulario web o de consulta entonces ¿para qué creas código nativo? HTML5 llena las expectativas y puede tener alta calidad por un precio mucho menor.
-
!
Karma: 5 (0 votos)
Opinión personal: nativo, al menos de momento. Hay muchas plataformas y cada una tiene sus peculiaridades: un modo de hacer multitarea, una interfaz gráfica determinada y que sigue unas líneas de diseño muy marcadas (ejem, Windows Phone; ejem, iOS). Además, cada dispositivo tiene sus peculiaridades.
No obstante HTML5 ofrece un futuro interesantísimo, y Firefox OS tiene mucho que aportar; para empezar, las API para acceder a recursos como la agenda de contactos o el micrófono. Si aparecen estas API en más de una plataforma y se estandarizan podremos empezar a hablar de HTML5 como plataforma válida para todo tipo de aplicaciones.
De todos modos hay aplicaciones que pueden hacerse en HTML5 (y sin demasiadas florituras) desde hace demasiado tiempo: las típicas interfaces para bases de datos, clientes para aplicaciones de gestión y demás, sí que pueden desarrollarse usando únicamente tecnologías Web para, sobre todo, abaratar costes.
-
!
Karma: 5 (0 votos)
Sin duda el funcionamiento y rendimiento de las aplicaciones es mucho mejor en soluciones nativas.
Por el contrario el HTML5 es mucho menos costoso, sobre todo si tienes que desarrollar para cualquier tipo de dispositivos.