App Bundles de Android: qué son y en qué se diferencian de los APK
Programación Android

App Bundles de Android: qué son y en qué se diferencian de los APK

Tradicionalmente, las aplicaciones Android estaban disponibles en formato APK y fin de la historia, pero todo comenzó a cambiar con la llegada de Android App Bundle y varias extensiones adicionales como APKM, XAPK o archivos ZIP con varios APK.

Android App Bundles es el formato oficial para publicar aplicaciones en Google Play, aunque es un tanto más misterioso que el APK de toda la vida. Aquí veremos qué es un Android App Bundle, qué ventajas tienen y en qué se diferencian de los APK.

Qué es un App Bundle de Android (.aab)

Los App Bundles de Android no son algo nuevo. Google nos los presentó en el Google I/O de 2018 como un nuevo formato de publicación que permitiría reducir el tamaño de las descargas para los usuarios lo cual, según los estudios de Google, resulta en un mayor número de descargas y menos desinstalaciones.

En esencia, un App Bundle contiene todos los recursos de una aplicación, aunque no se puede instalar directamente en el móvil. Es decir, se incluye la base y el resto de recursor como son gráficos, layouts y textos para todas las configuraciones posibles.

Appbundle

Teniendo tantas cosas dentro hay una pregunta que se hace sóla: ¿Cómo puede ser que una de las ventajas de los App Bundle sea que ocupan menos? La respuesta es que el App Bundle que crea el desarrollador ocupa más que un APK. El tamaño menor está en la descarga del APK que llega a los usuarios y que Google Play genera a partir de dicho App Bundle.

Appdebug
Una misma aplicación publicada en App Bundle ocupa más que en APK, pero no el archivo que descargarán los usuarios en Google Play

Suena un poco a trabalenguas, pero en verdad es bastante más fácil de lo que parece. Si un desarrollador crea una aplicación y la publica en formato APK, lo normal es que se incluyan todos los recursos como, por ejemplo, gráficos en los 30 idiomas que soporta la aplicación. Por simplificar, si cada gráfico son 100 Kb, tendremos 3.000 KB dentro de dicho APK.

En un App Bundle en formato .AAB se incluye absolutamente todo, pero los servidores de Google analizan su contenido y generan archivos APK con todas las configuraciones posibles y que incluyen sólo los recursos de dicha configuración. Es decir, el usuario se descarga un APK que en vez de tener los gráficos para 30 idiomas, sólo incluye los que tiene configurados en el móvil. En vez de 3.000 KB, son 100 o 200 KB.

Con los App Bundle, Google Puede generar APK que incluyen sólo los recursos para tu móvil. Es decir, de menor tamaño

¿Y si más tarde el usuario cambia el idioma del móvil? Por suerte, está todo previsto. En tal caso, Google Play descarga archivos adicionales de idioma de su tienda. Lo mismo se aplica para funciones opcionales modulares que se incluyan en la aplicación, y que se pueden descargar más tarde, sin incluirse en la descarga inicial.

Como vemos, la reducción del tamaño de descarga la ventaja principal de este formato frente a la publicación tradicional en APK, aunque no la única ventaja. En el pasado Google ha resaltado las 16 razones de peso para que los desarrolladores usen App Bundle en lugar de APK: menos tiempo de desarrollo, información extra en la Consola de Google Play, tiempos de compilación menores, funciones modulares...

En qué se diferencia un APK de un App Bundle

Hasta ahora, hemos hablado mucho de App Bundles desde la perspectiva de los desarrolladores de aplicaciones pero, como usuario, ¿en qué se diferencia uno de otro? En verdad la pregunta tiene trampa, pues como usuario no deberías cruzarte con App Bundles: es una empaquetado para que los desarrolladores publiquen sus aplicaciones en Google Play. Como usuario, no puedes hacer gran cosa con él, al menos no sin las herramientas y el conocimiento necesario.

Y sin embargo, nos encontramos con ellos en un caso concreto: cuando queremos instalar aplicaciones desde fuera de Google Play, y no están disponibles en un APK de toda la vida, sino en un App Bundle. Son cada vez más comunes en sitios como APKMirror o APK.Support. Lo que nos bajamos aquí no es realmente un App Bundle original, sino una colección de los APK que Google ha generado para las distintas configuraciones.

Apkbundle

Es decir, mientras que las aplicaciones publicadas con APK son un único APK, las publicadas como App Bundle tienen un APK de base y varios APK para distintas configuraciones, llamados Split APK. Esto ha complicado la vida a los sitios web para descargar aplicaciones Android, que han tenido que crear alternativas como el formato APKM de APKMirror o XAPK, en UpToDown y otros sitios.

APKM, XAPK y otros formatos son archivos ZIP con una ristra de APK en su interior que deben instalarse a la vez

APKM, XAPK o un ZIP lleno de APK no es un App Bundle, aunque sí un efecto secundario de los mismos. Son todos ellos un archivo ZIP que incluye el APK de Base y APK secundarios para arquitecturas soportadas, idiomas o cualquier otra variante que esté disponible. No se pueden instalar de por sí, igual que un APK, sino que es necesario una aplicación instaladora especial, capaz de instalar los "trozos" juntos.

Apkm
Dentro de un archivo APKM de Gmail lo que hay es una ristra de archivos APK

Es decir, App Bundle es un reemplazo de APK a la hora de publicar una aplicación en Google Play, pero no a la hora de instalarlo. En el móvil se siguen instalando archivos APK, aunque no uno, sino varios e incluyendo sólo lo necesario para que funcione en tu móvil.

Con el App Bundle que sube el desarrollador, Google genera infinidad de archivos APK personalizados que permiten que la descarga de aplicaciones sea más rápida. App Bundle y APK no son conceptos opuestos, sino complementarios. Es un buen invento, aunque innegablemente complica la instalación de aplicaciones desde fuentes externas.

Temas
Inicio