Google, en el marco del encuentro de desarrolladores PlayTime 2018 que está teniendo lugar estos días en Alemania, ha anunciado el lanzamiento de un nuevo sistema que facilitará a los desarrolladores la actualización de sus aplicaciones. Esta nueva API, bautizada como "In-app Updates API" promete muchas ventajas no solo para los devs, sino también para todos los usuarios. ¿El motivo? Las actualizaciones tardarán menos en llegar y podrán ejecutarse sin cerrar la aplicación.
Dom Elliot, Product Manager de Google Play, ha explicado en una publicación que "la forma en que se han publicado y distribuido las aplicaciones de Android hasta la fecha deja espacio para mejoras en todas clase de áreas", desde la experiencia de usuario hasta la velocidad y estabilidad de las apps. Este nuevo sistema viene a mejorar estos aspectos.
Un poco de contexto
El proceso de actualización de una app, explica Elliot, ha sido el siguiente durante los 10 años de vida que tiene Android:
- Escribes el código de tu aplicación en un IDE, como Android Studio.
- Cuando estás listo para probar o lanzar la aplicación, la compilas como un APK, el formato de la aplicación de Android. Como parte de la creación del APK, lo firmas digitalmente con una clave. Firmar una aplicación significa adjuntar de forma segura un certificado único. Este es un mecanismo que garantiza que usted seas el único que puede continuar actualizando las copias instaladas de esta aplicación. ¿Como funciona esto? Antes de actualizar una aplicación, Android siempre verifica que el certificado único de la actualización coincida con el certificado único de la aplicación en el dispositivo.
- Subes tu APK firmado usando la Google Play Console y, cuando todo esté preparado, la lanzas al mundo.
- Google Play distribuye el APK firmado, exactamente como lo cargó, en el dispositivo de cada usuario cuando lo instala.
Es un proceso que ha funcionado bien en estos diez años, pero el creciente tamaño de las aplicaciones y el volumen de usuarios que acceden a ellas requiere un nuevo sistema. "De hecho, desde 2012, la aplicación promedio ha crecido cinco veces [en tamaño]", apunta Elliot. Esto es comprensible, dado que los desarrolladores quieren aprovechar la cada vez mayor potencia de los smartphones, adaptar sus apps a cada tipo y tamaño de pantalla, a cada procesador y cada hoja de componentes. Al final eso redunda en una cosa: una aplicación cada vez más y más pesada
¿El problema? Cuanto más pesa una aplicación menos instalaciones consigue. Es un problema normal teniendo en cuenta que el almacenamiento de un móvil es limitado, así como el acceso a la conexión. Además, el contenido multimedia capaz de generarse con el móvil (fotos, vídeos...) cada vez pesa más, por lo que el usuario debe elegir si quiere más apps o más multimedia.
La solución a este problema sería sencillo. Se podría crear un APK múltiple para cada dispositivo (es decir, miles y miles de versiones de una única app). Es un trabajo hercúleo y que, grosso modo, no merece la pena. ¿Qué hacen los desarrolladores? Lo aglutinan todo en un único APK, lo que significa que un usuario tiene un archivo muy pesado con código duplicado y que no les vale para nada.
Para ponerle solución a este embrollo, Google lanzó a principios de este año dos nuevos sistemas: Android App Bundle y Dinamic Delivery. Gracias a él, el desarrollador sube el archivo AAB (Android App Bundle) con la base de la app por un lado y las librerías y archivos necesarias para cada tipo de smartphone por separado. De esa forma, cuando el usuario quiere descargar una aplicación, Google Play examina el AAB y genera un APK con las librerías necesarias para el dispositivo en cuestión gracias a Dinamic Delivery. Y ahora da un paso más allá.
El siguiente nivel se llama "In-app Updates API"
Google ya conoce la forma de que cada usuario tenga un APK dedicado, pero ahora tiene que conseguir que las actualizaciones lleguen antes y a todos los usuarios, porque si bien es cierto que muchos usuarios tienen las actualizaciones automáticas activadas, otros muchos tienden a no renovar las versiones. Eso es sinónimo de problemas de seguridad, bugs y errores. "In-app Updates API" soluciona ese problema.
Cuando el desarrollador lance una actualización podrá notificar al usuario que esta está disponible en una ventanita dentro de la propia aplicación. Este tiene dos opciones: actualizarla desde ahí o ir a Google Play y actualizara con el método convencional. Si decide actualizar inmediatamente, aparecerá una interfaz dentro de la app, como una barra de progreso o un circulito de carga, para que el usuario entienda que algo está pasando y pueda saber cuánto queda.
Cuando la actualización esté descargada, el usuario podrá elegir si prefiere instalarla ahora mismo (la aplicación se reiniciará) o si prefiere hacerlo cuando no esté usándola. De elegir esta opción, cuando el usuario cierre la aplicación, se aplicará la actualización descargada sin afectar en ningún momento a la experiencia de uso.
¿Qué significa eso? Que un desarrollador puede desplegar fixs de errores graves, correcciones de fallos e incluso nuevo contenido a un juego de forma inmediata y sin que el usuario tenga que cerrar la aplicación para poder actualizar.
Google Chrome es la primera aplicación que probará esta nueva API, y empieza desde hoy. El resto de desarrolladores tendrán que esperar un poquito todavía. El proceso de implementación de esta API, apuntan desde Google, es muy sencillo, estándar y funciona con cualquier tipo de app, sea de mensajería o un juego de disparos, siempre y cuando use el nuevo formato AAB.
Ver 7 comentarios