Con la llegada de Android 5.0 Lollipop, uno de los elementos que se han actualizado ha sido el WebView, una vista la cual nos permite mostrar un navegador dentro de una aplicación nuestra.
Desde Android 4.4, el objeto WebView está basado en Chromium, pero ahora, con Lollipop, la nueva versión está basada en la versión Chromium M37, añadiendo sporte para WebRTC, WebAudio y WebGL. Pero no todo termina ahí, pues ahora la capa Chromium será actualizable desde Google Play, en otro paso más para eliminar la fragmentación que en las actualizaciones nos encontramos en el ecosistema Android. De este modo, tendremos otro aspecto más que ya no depende de la actualización del sistema operativo, pudiéndolo hacer directamente actualizando la aplicación.
Chromium, un gran avance para las apps híbridas
A la hora de desarrollar apps, siempre nos encontramos dos vertientes claramente diferenciadas:
- Apps nativas: son aplicaciones puras de la plataforma, en este caso, Android, desarrolladas con la API específica de la plataforma en sí. Son las más eficientes, pero sin embargo debemos desarrollarlas una vez por cada plataforma.
- Apps híbridas: son aplicaciones realmente desarrolladas en formato web, que son incluidas en una aplicación nativa que básicamente se encarga de mostrarnos un navegador con el contenido web desarrollado. De esta forma, tenemos una aparente app nativa que realmente nos muestra una web. En este caso, sólo necesitamos desarrollar la versión web una vez para todas las plataformas, por lo que reducimos el tiempo en desarrollo.
Hasta ahora, un WebView estaba mucho más limitado que un navegador puro y duro, por lo que las aplicaciones híbridas presentaban más limitaciones que si cargábamos directamente la web en el navegador.
Pero la aparición de Chromium en KitKat ya supuso un gran avance, pues el WebView pasaba a tener el mismo motor Javascript que Chrome para Android, el cual presentaba una gran consistencia y rendimiento, aparte de que las apps son aceleradas por hardware de forma predeterminada.
WebView actualizable por Google Play, factor clave
El gran problema del WebView radicaba en conseguir que estuviera actualizado, por lo que ya en Android 4.4 KitKat, con el paso a basarse en Chromium, podría disponer de actualizaciones automáticas. Pero tal como hemos contado, el asunto presentaba un problema clave en Android, y es que por mucho que mejorase Chrome, dependíamos de las actualizaciones del sistema operativo para tener el WebView actualizado. Esto nos llevaba en muchos casos a que a pesar de que el nuevo WebView se basaba en Chromium, no podíamos disfrutar de las últimas ventajas y mejoras de Chrome, a menos que los fabricantes de nuestro dispositivo liberasen la actualización.
Google decidió poner cartas en el asunto y terminar con este problema de raíz: desde Android 5.0 Lollipop, Chromium pasa a ser actualizable por Google Play. Esto significa que para todo aquel que tenga esta última versión de Android (en adelante), no necesitará depender de actualizaciones del sistema operativo para disfrutar de la última versión del WebView, lo que favorece enormemente a la disminución de la fragmentación.
Más novedades: WebRTC, WebAudio, WebGL
Aun así, no todo termina ahí, pues el elemento WebView ha recibido otras actualizaciones en su nueva versión:
- WebRTC: API Javascript disponible para comunicaciones en tiempo real (RTC)
- WebAudio: Sistema potente y versátil para controlar el audio en la web
- WebGL: API similar a OpenGL que provee gráficos 3D a la web
Novedades que no llegarán a todos
Todo es maravilloso hasta aquí, pero si caemos en la cuenta de que todo esto estará disponible sólo para usuarios con Android 5.0 Lollipop (o superior), empezamos a darnos cuenta que para los programadores seguirá siendo algo complicado el tema de las aplicaciones híbridas, pues necesitamos seguir dando soporte a versiones anteriores, o reducir tanto el número de dispositivos compatibles (que no actualizarán) que no merecerá la pena desarrollar la app. Aunque esperamos que este problema sea sólo un problema a corto plazo.
¿Será éste el comienzo hacia una era donde veamos muchas más aplicaciones híbridas que hasta ahora? ¿O seguirá todo igual?
Más información Developer Android & Infinum