Android App Bundle nahradí Android Application Package | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Android App Bundle nahradí Android Application Package

Android App Bundle nahradí Android Application Package

Co to znamená pro vývojáře, distributory a uživatele Android aplikací?

V roce 2018 Google představil nový formát pro publikování aplikací pro jeho Play Store. Účelem Android App Bundle (AAB) je nahradit současný a oblíbený formát Android Application Package (APK), oproti němuž má mít více výhod.

Pojďme se společně podívat na oba formáty. V článku ti povíme, jak na tom oba formáty dnes jsou a jaká je výhledově jejich budoucnost.

Co je APK?

APK je formát souboru používaný pro distribuci a instalaci aplikací v zařízeních se systémem Android. V podstatě jde o komprimovaný archiv, který obsahuje všechny potřebné soubory a zdroje ke spuštění aplikace na této platformě.

Co je AAB?

AAB je moderní a efektivní formát pro balení a distribuci aplikací pro Android. Oproti tradičnímu formátu APK nabízí AAB několik výhod, díky kterým ho mnozí vývojáři a vydavatelé aplikací upřednostňují.

APK vs. AAB: základní pohled na oba formáty

Balíček APK se skládá především z kódů aplikace, zdrojových souborů, jako jsou obrázky, zvuky atd. a podpisovým klíčem aplikace vygenerovaného vývojářem. Soubor také musí počítat se specifickými parametry zařízení Android (odlišné parametry telefonů a tabletů). Na základě regionu uživatele pak aplikace nainstaluje daný jazyk (angličtinu, němčinu, češtinu atp.).

V ideálním případě musí vývojář vytvořit a nahrát do Obchodu Play několik souborů APK na základě regionu uživatele a parametrů zařízení. Ve chvíli, kdy klikneš na tlačítko „Instalovat“ v Obchodě Play, do tvého mobilu nebo tabletu se nainstaluje vybraný APK soubor. Vývojáři se tak musejí potýkat s nelehkým úkolem. Kromě vývoje samotné aplikace musejí spravovat více souborů APK, které slouží k podpoře celé řady aplikací.

Aby se této složité a časově náročné práci vývojáři vyhnuli, většina z nich vytváří univerzální APK, které obsahuje všechny zdrojová data v jednom souboru (jazykové balíčky, kódy, média a další), ačkoliv většinu z nich tvoje zařízení nepotřebuje. Výsledkem je objemný soubor APK., který vyžaduje delší dobu instalace a spotřebu dat při stahování.

Řešením tohoto problému, má být Android App Bundle. Tento formát pomůže snížit velikost aplikace, dobu instalace a spotřebu dat. Společnost představila AAB na konferenci Google I/O 2018.

Ve srovnání s formátem APK není AAB zcela novým distribučním balíčkem. Ve skutečnosti je AAB kontejner, který hostí základní APK a několik rozdělených APK. AAB je v podstatě publikační formát, který vývojář předkládá do Obchodu Play, zatímco APK je formát balení aplikací pro systém Android, které se instaluje do zařízení s tímto OS.

Co se zde tedy skutečně mění? 

Od srpna 2021 nemusí vývojáři zpracovávat a spravovat celou řadu souborů APK pro různá zařízení. S AAB vývojáři předají společnosti Google vše – kód aplikace, prostředky, zdrojové soubory, všechny jazykové balíčky, a hlavně soukromý klíč pro podepisování aplikací.

Google Play tak může generovat a uživatelům servírovat optimalizované soubory APK na základě konfigurace jejich zařízení. Může vytvořit mnohem menší balíček AAB, který má kompaktní velikost, nainstaluje se během okamžiku a spotřebuje méně dat.

Google v roce 2021 nahrazuje APK za AAB

Google se rozhodl, že do června 2021 bude AAB výchozím balíčkem aplikací namísto formátu Android Package pro aplikace pro Android v obchodě Google Play. Společnost věří, že tato změna přinese efektivnější pracovní podmínky a rychlejší fungování aplikací a doručování dat. Zatím tato změna není pro současné aplikace ve formátu APK.

APK vs. AAB: výhody a nevýhody

Můžeš mít pocit, že formát AAB pro většinu uživatelů nepřináší žádný rozdíl. Ano, v zásadě nezmění uživatelské zkušenosti. Cílem tohoto formátu je především zmenšit velikost samotné aplikace.

Pojďme si to ukázat na příkladech

Společnost Airbnb při přechodu z APK na AAB snížila velikost své aplikace o 22 %, zatímco Netflix pro Android zaznamenal snížení až o 57 %, což je znatelný rozdíl.

Pro uživatele, kteří budou chtít stahovat formát AAB z jiného zdroje než Play Store, bude situace poněkud složitější. K instalaci souborů tak budou muset používat nástroj budletool k extrakci souborů APK a pak použít instalátory třetích stran.

Jedna věc, kterou je třeba vzít na vědomí je, že AAB se odkloní od OBB (Opaque binary blob) pro stahování velkých souborů a zdrojových dat. Místo toho bude ke stahování objemných dat o velikosti 150 MB a více používat službu Play Asset Delivery nebo Play Feature Delivery.

Pokud jde o vývojáře, kterých se tato změna týká nejvíce, nemusí svůj kód refaktorovat. AAB také přinášejí modularitu, která znamená, že vývojáři mohou změnit kousek kódu a sloučit ho s jádrem základu, aniž by čelili konfliktům při slučování.

Jednou z velkých výhod AAB je, že vývojářům přináší možnosti přizpůsobení. Mohou si vybrat, na kterou úroveň API se zaměří, nebo který typ zařízení budou podporovat. Vývojáři mají možnost si také vybrat, jaké všechny funkce mají být poskytovány na konkrétním typu zařízení nebo telefonech běžících na nejnižší požadované verzi SDK.

Pokud jde o nevýhody, jádrem problému je sdílení soukromého klíče, které bude nyní spravovat Google. Dalším velkým problémem může být nekompatibilita s obchody s aplikacemi třetích stran a vývojáři budou muset vynaložit další úsilí, aby mohli publikovat a spravovat soubory APK (stejně jako nyní Obchod Play) v jiných obchodech s aplikacemi.

Jaké je budoucnost AAB?

Podle tvůrců systému Android používá AAB více než 1 milion vývojářů. V obchodě Google Play najdeš X, Netflix, tituly Gameloftu, Adobe a Duolingo. Google očekává, že toto rozšíření distribuce aplikací se v budoucnu ještě více rozšíří.

Všechny nové aplikace pro Android v obchodě Google Play budou muset být v budoucnu ve formátu AAB. Je to jistě přelomová kapitola pro APK, přináší výhody i nevýhody pro vývojáře, které jsme si zmínili výše.

Pokud tedy plánuješ vyvíjet aplikace pro tento OS, pak bys měl*a začít rozšiřovat své znalosti v oblasti vývojové Android aplikací.

Autor: Martin Šlat

Více článků
A proč je užitečná pro každého, kdo pracuje s computer vision
Kde můžeš začít navazovat vztahy s lidmi se zájmem o IT?