Друзья, наше мобильное приложение ГРУЗОРАДАР уже в RuStore! Для тех, кто ещё не в курсе, ГРУЗОРАДАР – сервис, разработанный в factoria, помогающий грузоперевозчикам найти ближайший груз или груз по маршруту следования, а грузоотправителям найти перевозчика.
Интересный факт, в национальном магазине приложений размер нашего приложения 28,7 Mб, тогда как в GooglePlay всего 10 Мб. Дело в том, что в RuStore хранится скомпилированный файл APК, тогда как официальный формат GooglePlay – Android App Bundle, это немного другое.)
Что такое Android App Bundle (.aab)
В наборах приложений для Android нет ничего нового. Google представил их нам на Google I/O в 2018 году как новый формат публикации, который уменьшит размер загрузок для пользователей, что, согласно исследованиям Google, приводит к большему количеству загрузок и меньшему количеству удалений.
По сути, App Bundle содержит все ресурсы приложения, хотя его нельзя установить непосредственно на мобильный телефон. То есть включены база и остальная часть рекурсора, такая как графика, макеты и тексты для всех возможных конфигураций.
То же приложение, опубликованное в App Bundle, занимает больше, чем в APK, но не файл, который пользователи будут скачивать в Google Play.
На самом деле это намного проще, чем кажется. Если разработчик создает приложение и публикует его в формате APK, это нормально, что включены все ресурсы, например графика на 30 языках, поддерживаемых приложением. Для простоты, если размер каждого изображения составляет 100 КБ, в указанном APK-файле будет 3000 КБ.
Пакет приложений в формате .AAB включает в себя абсолютно все, но серверы Google анализируют его содержимое и генерируют файлы APK со всеми возможными конфигурациями, включая только ресурсы указанной конфигурации. То есть пользователь загружает APK, который вместо графики для 30 языков включает только те, которые настроены на мобильном устройстве. Вместо 3000 КБ это 100 или 200 КБ.
Что, если пользователь позже изменит язык мобильного телефона? К счастью, все предусмотрено. В таком случае Google Play загружает дополнительные языковые файлы из вашего магазина. То же самое относится к модульным дополнительным функциям, которые включены в приложение и которые могут быть загружены позже, но не включены в первоначальную загрузку.
Как видим, уменьшение размера загрузки – главное преимущество этого формата по сравнению с традиционной публикацией в APK, хотя и не единственное преимущество. В прошлом Google выделял 16 веских причин для разработчиков использовать App Bundle вместо APK: меньшее время разработки, дополнительная информация в консоли Google Play, более короткое время компиляции, модульные функции …
Чем APK отличается от Android App Bundle (.aab)?
До сих пор мы много говорили о App Bundle с точки зрения разработчиков приложений, но как пользователь, чем один отличается от другого? Вопрос действительно непростой, потому что как пользователь вы не должны сталкиваться с App Bundles: это пакет для разработчиков, которые публикуют свои приложения в Google Play. Как пользователь, вы ничего не можете с этим поделать, по крайней мере, без необходимых инструментов и знаний.
И все же мы находим их в конкретном случае: когда мы хотим установить приложения из-за пределов Google Play (на сторонних сайтах), и они доступны не в APK, а в App Bundle. То, что мы здесь загружаем, на самом деле не является оригинальным пакетом приложений, а представляет собой набор APK-файлов, созданных Google для различных конфигураций.
То есть, в то время как приложения, опубликованные с помощью APK, представляют собой один APK, приложения, опубликованные как App Bundle, имеют базовый APK и несколько APK для разных конфигураций, называемых разделенными APK. Это усложнило жизнь веб-сайтам для загрузки приложений Android, которым пришлось создавать альтернативы, такие как формат APKM для APKMirror или XAPK, на trashbox.ru и других сайтах.
APKM, XAPK и другие форматы – это ZIP-файлы со строкой APK внутри, которые необходимо установить одновременно.
APKM, XAPK или ZIP, полный APK, не являются пакетом приложений,хотя и являются их побочным эффектом. Все они представляют собой ZIP-файл, который включает в себя базовый APK и дополнительные APK для поддерживаемых архитектур, языков или любого другого доступного варианта. Они не могут быть установлены сами по себе, как APK, но требуется специальное приложение-установщик, способное устанавливать «фрагменты» вместе.
То есть App Bundle является заменой APK при публикации приложения в Google Play, но не при его установке. Файлы APK продолжают устанавливаться на мобильный телефон, хотя и не один, а несколько, включая только то, что необходимо для его работы на вашем мобильном телефоне.
С помощью App Bundle, который загружает разработчик, Google генерирует бесчисленное количество пользовательских APK-файлов, которые позволяют ускорить загрузку приложений. App Bundle и APK не противоположны, а дополняют друг друга. Это хорошее изобретение, хотя, несомненно, усложняет установку приложений из внешних источников.