Czym się różnią te dwa formaty plików na Androida?
AAB? Pierwsze słyszę
Odkąd istnieje Android, aplikacje na ten system operacyjny były zapisywane w formacie APK (co jest skrótem od Android Package, pakiet Android). Jednak w 2018 roku Google wprowadził nowy format o nazwie Android App Bundles lub AAB (o nazwie pliku *.aab). Google zachwalało, że ten nowy format pozwoliłby uzyskiwać mniejsze rozmiary plików aplikacji i łatwiej kontrolować różne aspekty działania aplikacji. Obecnie spośród milionów aplikacji w sklepie Google Play zaledwie tysiące z nich przeszło do systemu AAB.
Od kilku dni Internet na nowo huczy jednak w tym temacie bowiem Google ogłosiło, że format AAB oficjalnie już zastąpi pakiety APK dla Androida. Oznacza to, że od sierpnia tego roku wszystkie nowe aplikacje przesyłane do Sklepu Google Play muszą być w formacie AAB. Aplikacje, które są obecnie plikami APK, mogą pozostać w tym stanie — przynajmniej na razie.
Wady i zalety
To w sumie dobra wiadomość dla przeciętnego konsumenta bo pliki *.aab mogą być nawet o 15% mniejsze niż pakiety APK. Deweloperzy będą również mieli większą kontrolę nad sposobem rozpowszechniania aktualizacji aplikacji, co prawdopodobnie zaowocuje szybszymi i bardziej wydajnymi aktualizacjami.
Istnieją jednak dwa istotne problemy z AABs. Po pierwsze, programiści, którzy chcą, aby ich aplikacje pojawiały się w innych kanałach dystrybucji — takich jak Amazon App Store lub Huawei App Gallery — będą musieli ręcznie wyeksportować wersje APK swoich aplikacji. Nie będzie to wymagało dużego wysiłku ze strony dewelopera, ale oznaczałoby, że każdy programista będzie mógł zdecydować, że jego aplikacja ma być dostępna wyłącznie w Sklepie Play. W takich przypadkach użytkownicy końcowi musieliby samodzielnie skonwertować sobie pliki AAB jako pliki APK ponieważ pliki *.aab nie działałyby w alternatywnych sklepach.
Podpiszą za Ciebie?
Innym problemem jest to, że programiści będą musieli podać Google swój klucz podpisywania aplikacji, aby wyeksportować aplikację AAB jako plik APK. Daje to Google naprawdę sporo władzy. Klucz podpisywania aplikacji jest w zasadzie dowodem na to, że konkretny programista stworzył konkretną aplikację. Google, przynajmniej teoretycznie, mogłoby więc podpisywać aplikacje w imieniu programisty. Możliwe też, że ktoś mógłby uzyskać dostęp do tego klucza, a następnie podpisać aplikacje dla siebie. W związku z tym niektórzy programiści nie są zbyt zainteresowani nowym formatem pakietu aplikacji.
AAB staną się obowiązkowe dla wszystkich nowych aplikacji od sierpnia 2021 roku. Aktualizacje istniejących aplikacji mogą nadal być przesyłane przez programistów w formacie APK, więc na razie nic się nie zmieni w tym aspekcie.
Technikalia i wady AAB
Różnica między plikami APK i AAB polega od strony technicznej na tym, co nazywamy zasobami. W aplikacji zasoby to wszystko inne, co nie jest kodem programistycznym, takie jak obrazy, pliki językowe lub muzyka. Jeśli wybierzesz przycisk „Zainstaluj” dla aplikacji w Sklepie Play, Google wyśle Ci plik APK dostosowany z pliku AAB specjalnie pod kątem Twojego urządzenia i z niezbędnymi zasobami (wersja językowa, obsługa grafiki w nietypowej rozdzielczości itp.).
Niestety AAB mają też wady, których pozbawione są APK a które wynikają ze wspomnianych wcześniej kwestii podpisywania. Chcesz pobrać nową wersję beta WhatsApp przez APKMirror i wypróbować nowe funkcje? Zapomnij o tym ponieważ APKMirror używa tutaj innego podpisu niż Sklep Google Play. Pobieranie aplikacji w różnych sklepach z aplikacjami innych firm może być koszmarem w przyszłości.
Inna wada dotyczy samych twórców aplikacji i naprawiania błędów. Dzisiaj jeśli pojedynczy użytkownik ma problem z aplikacją istnieje proste rozwiązanie: zmodyfikuj aplikację, wyślij ją użytkownikowi, pozwól użytkownikowi zaktualizować aplikację i miej nadzieję, że błąd zostanie usunięty. Było to jednak możliwe tylko dlatego, że programiści mogli sami podpisywać swoje oprogramowanie...