Enfrentados cara a cara: Apps nativas y HTML5
Analizamos las distintas posibilidades de desarrollo en el panorama móvil actual de la mano de Sergi Hernando e Ibon Tolosana, directores de tecnología de Mobivery y Ludei, respectivamente.
¿Hago una aplicación web o una aplicación nativa? Éste es el dilema al que se suelen enfrentar muchos desarrolladores que comienzan en el mundo de la programación o el de otros tantos que tienen que presentar su proyecto a un cliente. Y también es uno de los debates que más está calentando la Red durante los últimos tiempos, especialmente tras las inesperadas declaraciones de Mark Zuckerberg al asegurar que “el error más grande que hemos hecho como compañía ha sido apostar por el lenguaje HTML5 sobre las aplicaciones nativas, desperdiciamos dos años” y coronarlas con una promesa de apuesta férrea de Facebook por las apps específicas para iOS (ya disponible) y Android (en proceso de fabricación).
¿Cuáles son las ventajas de cada una de ellas? ¿Y sus inconvenientes, si los tienen? ¿Ambos ecosistemas pueden convivir o acabarán relegadas las apps nativas a un segundo plano, ante el incipiente empuje del HTML5? ¿Se ha sobrevalorado el potencial de este último? Para arrojar algo de luz sobre estos interrogantes nos hemos puesto en contacto con dos personas con amplia experiencia en el tema, Sergi Hernando, director de tecnología en Mobivery, e Ibon Tolosana, su homólogo en Ludei.
Las aplicaciones nativas, según Mobivery
Mobivery es una compañía experta en ofrecer soluciones para plataformas móviles de última generación de la talla de iOS o Android, que destaca la capacidad de las aplicaciones nativas para “aprovechar al máximo los recursos del dispositivo, especialmente CPU y GPU, ya que están preparadas para ejecutarse en un hardware determinado”. Esto quiere decir que “los resultados son mejores en cuanto a estabilidad, calidad de las animaciones, las transiciones entre vistas y velocidad de respuesta a los gestos del usuario”, enumera Sergi Hernando, licenciado en Ingeniería Informática por la Universidad Politécnica de Cataluña y líder durante su carrera de equipos en grandes empresas de consultoría, de servicios TI y del sector turístico. “Y, si hablamos de juegos. todo esto cobra más sentido aún”.
La sentencia cambia si se observa desde un punto de vista comercial, porque cuantas más plataformas se intenten abarcar para un mismo producto mayores serán los costes de producción. Asimismo, desarrollar en nativo “supone conocer más lenguajes de programación, APIs y SDKs y otras herramientas” o bien contar con personal distinto especializado en cada sistema operativo, reconoce Hernando, “pero particularmente no lo veo como un inconveniente. Este tipo de apps, en general, no presentan inconvenientes por sí mismas”.
Y es que a día de hoy, y mientras existan dispositivos como el iPhone de Apple o los Lumia de Nokia combinados con sistemas operativos potentes, lo más lógico es pensar que “siempre existirán apps nativas. Por el simple hecho del placer que supone ver lo suave que funciona tu app de búsqueda de cajeros automáticos en iPhone frente a los terribles saltos y golpes que da en Safari”, explica de manera gráfica este profesional con extenso recorrido en ingeniería del software, integración de sistemas y arquitecturas distribuidas. Es cierto que “la evolución reciente de los motores web implementados en los navegadores ha sido espectacular, ofreciendo un nivel de control cercano al de la aplicación nativa, pero aún queda mucho camino por recorrer para conseguir unos resultados parecidos”, compara este representante de Mobivery.
Otra cosa es su posibilidad de crecimiento, que “está ahí, la tiene”, indica el CTO. “Su capacidad de adaptación a distintos tamaños de pantalla, su acceso a GPS o a servicios de vídeo y de audio, su dinamismo, su alto grado de reutilización, por poner ejemplos sencillos, hace que a día de hoy esté donde debe estar, que es ser una alternativa válida y viable al desarrollo en nativo”, concede Hernando. “Las aplicaciones en HTML5 tendrán su sitio, como ya lo tienen en PCs de sobremesa o en portátiles. Y el desarrollo de aplicaciones web para plataformas móviles, si se enfoca bien y se utiliza en el contexto adecuado, encierra mucho potencial. Es decir, que no sólo se debe plantear el aspecto comercial del 2×1 sino que tecnológicamente también debe tener sentido”, concluye.
Las aplicaciones en HTML 5, según Ludei
Por su parte Ibon Tolosana, que comparte con su interlocutor la maestría en Java además del cargo de CTO, en este caso de la plataforma de juegos en HTML5 Ludei, ramificación de la factoría de ideas Ideateca, destaca tres ventajas de esta quinta revisión del lenguaje básico de la World Wide Web. En primer lugar están el precio de desarrollo y la adquisición de talento. “Resulta más fácil encontrar un buen desarrollador HTML5, que un desarrollador experimentado en C++, Objective-C o Java”, expone Tolosana. “Esto implica directamente que los costes de mantenimiento de una aplicación son menores y que la llamada ‘tiranía del técnico’ se diluye hasta el punto de hacerla desaparecer porque el management puede dar continuidad a proyectos basados en tecnologías Open Web”. Después está el hecho de que estas apps “pueden ejecutarse en dispositivos heterogéneos con la misma base de código, sin cambios o con ligeras modificaciones” y finalmente, al estar en constante evolución, sus características “no dependen de un único árbitro sino que tratan de fomentar el navegador como espacio de trabajo ubicuo”.
Dicho con otras palabras, las aplicaciones desarrolladas hoy se pueden beneficiar automáticamente de entornos de trabajo “más seguros, rápidos y confiables” sin que el desarrollador tenga que preocuparse por ello. Eso sí, el suyo no es un camino de rosas. Entre los escollos que tendrá que salvar para expandirse se encuentra la ausencia de un gran canal de distribución como el App Store de Apple (no se puede distribuir una aplicación HTML5 en esta tienda) y la imposibilidad de acceder directamente a determinadas características de los dispositivos donde se ejecutan (por ejemplo, no pueden conectar con las capacidades de notificaciones push del móvil). Para arreglar ambos problemas existen ‘wrappers’ que convierten las aplicaciones HTML5 en nativas con poco esfuerzo, “pero en ese momento las aplicaciones pasan a denominarse híbridas”, comenta el creador de CAAT, un gestor de gráficos de escena multi-instancia compatible con Canvas, WebGL y CSS.
“Un inconveniente importante ahora mismo, que mejora cada día, es la fragmentación de HTML5. Es decir, que distintos ‘vendors’ de navegadores no dan soporte homogéneo a HTML5 y que el desarrollador puede necesitar invertir tiempo en tareas que en las plataformas nativas se dan por supuestas”, añade el directivo de Ludei, que también lamenta la lentitud de la que adolecen en ocasiones estas aplicaciones.
Llegados a este punto, teniendo en cuenta que ha experimentado con ambas opciones y a pesar de que las aplicaciones nativas están más industrializadas, Tolosana admite que “ninguna tecnología es mejor que la otra” y que tampoco se debería caer en el “grave error” de buscar sustitutos. Cuando varias tecnologías coinciden en el tiempo, “hacen que la competencia entre las mismas aumente, forzándonos a ofrecer mejoras sustanciales entre cada versión y creando un caldo de cultivo hirviente”, donde los mayores beneficiados son los creadores.“Los desarrolladores de software, tenemos un cinturón de herramientas, y debemos escoger la mejor en función de las necesidades de nuestro proyecto. Piensa en un carpintero que sólo trabajase con un martillo… ¡sería una locura para determinados trabajos!”, imagina.
“Por tanto, en mi opinión, HTML5 nunca se impondrá totalmente a las aplicaciones nativas, salvo en determinados entornos como Chrome OS, FireFox Boot to Gecko o Tizen, que no ofrecen otra alternativa que no sea ejecutar aplicaciones HTML5, eso sí, en entornos muy optimizados para ello”, prevé este emprendedor y consultor. Este lenguaje todavía tiene que demostrar que su promesa “code once run anywhere” es real, pero “tiene un margen de mejora ilimitado, y cada día es más estable, menos fragmentado, más accesible a todo el mundo”, dice Tolosana. Hoy por hoy, “no considero que sea demasiado pronto para fijar objetivos en el desarrollo de aplicaciones HTML5 puras. Ya son una realidad y contamos con armas como webGL, CSS3 3D o la geolocalización que permiten desarrollar cualquier tipo de aplicación, incluso de altas prestaciones visuales”.