Технологии
Никита Логинов

Google откажется от формата APK в пользу App Bundle с привязкой к своему магазину. Что это значит и чем грозит Android

У нового формата много преимуществ, но они доступны только при установке через магазин приложений Google — в ином случае плюсы переходят в минусы.

Один из логотипов Android App Bundle Изображение Google

В 2018 году Google представил альтернативный формат распространения мобильных приложений — Android App Bundle (AAB), который должен был избавить платформу от недостатков существующего формата APK. С августа 2021 года App Bundle из альтернативного станет основным форматом для Android — пакеты APK больше не будут принимать в магазин приложений Google Play.

Чем App Bundle отличается от APK

Меньше размеры, быстрее установка

Самый очевидный плюс — сокращение размера пакета. В среднем, App Bundle «весит» на 15% меньше APK, поэтому приложения в новом формате будут скачиваться быстрее. Более того, размер AAB в принципе не может превышать 150 мегабайт — при необходимости разработчик должен будет либо дробить приложение на отдельные файлы, либо тщательнее проработать его состав.

Впрочем, разработчику новый формат скорее облегчит жизнь, чем усложнит. App Bundle включает всё, что нужно приложению для работы: бинарные файлы, графические и прочие ресурсы, метаданные — причём под все варианты устройств сразу. Когда пользователь запрашивает AAB на установку из Google Play — сервис сам определяет, какие бинарники и ресурсы ему отдать, в зависимости от его устройства. Разработчику об этом думать не нужно.

Сравнительная схема установки традиционного APK и нового формата App Bundle Изображение VentureBeat

Пользователь, в свою очередь, вместо «жирного» пакета со всеми подряд ресурсами получает только то, что он действительно будет использовать. Это не только ускоряет скачивание и установку, но и на десятки процентов уменьшает занятое место на долговременной памяти смартфона — актуальный плюс для пользователей бюджетных моделей.

Безопасная доставка дополнительных ресурсов по запросу

Сейчас большие приложения в APK-формате — например, игры — используют отдельные OBB-файлы для хранения дополнительных ресурсов (текстур, аудиозаписей и так далее). Минус такой схемы в её потенциальной небезопасности: OBB-файлы располагаются на сторонних серверах и никак не проверяются заблаговременно.

Android App Bundle предлагает новую и обязательную концепцию доставки дополнительных ресурсов: Play Asset Delivery (PAD). В отличие от прежних ОВВ-расширений, PAD-файлы публикуются на серверах Google Play как неотъемлемая часть приложения. Сотрудники Google проверяют их и подписывают цифровой подписью.

Play Asset Delivery также экономит трафик и место на смартфоне — пользователь получает только нужные ему ресурсы, причём во время их обновления приложение скачивает лишь разницу между старыми ресурсами и новыми — другими словами, PAD использует дельта-обновления.

Наконец, ресурсы в формате PAD можно подгружать динамически — например, прямо во время игры. OBB-файлы скачиваются только заранее, перед стартом приложения.

Возможная привязка к Google Play

Ресурс SlashGear обратил внимание, что App Bundle может покончить с альтернативными источниками приложений для Android, привязав пользователей к Google Play и не оставив им выбора. Есть как минимум три причины так думать.

Во-первых, наиболее привлекательные возможности нового формата работают только с Google Play. Как было сказано выше, именно фирменный магазин приложений определяет, какие части AAB нужно отдавать пользователю для экономии трафика и места на смартфоне. Без Google Play пакеты в новом формате, похоже, станут ещё «толще» и расточительнее к ресурсам.

Во-вторых, Google явно фокусируется на повышении безопасности своей экосистемы, и в эту политику вряд ли вписываются альтернативные способы установки. App Bundle требует проверки и цифровой подписи всех частей приложения, так что после перевода на новый формат компании ничего не стоит заблокировать все неподписанные приложения. Пока Google заявляет, что сторонние источники блокироваться не будут, но это может измениться в будущем.

Внутренняя структура App Bundle Изображение AndroidPolice

В-третьих — разработчикам придётся создавать отдельные App Bundle для каждой альтернативной платформы распространения приложений вместо создания одного APK, как сейчас. Хотя новый формат это, по сути, архив с россыпью привычных APK-файлов — распаковать и установить их вручную «в один клик» не получится из-за сложного дерева зависимостей одних APK от других. Пользователю нужно будет использовать либо Google Play, либо специальные инсталляторы — но не факт, что они будут работать.

Как подготовиться к переходу с APK на App Bundle

Разработчикам приложений новый формат обещает увеличение скорости разработки, более быструю сборку и прочие преимущества. И скорее всего, разработчики уже их оценили, потому что полная поддержка App Bundle появилась ещё в Android Studio 3.2, который вышел в сентябре 2018 года.

Пользователям ничего делать не нужно, весь процесс перехода обещает быть прозрачным и незаметным. К тому же, требование Google перейти на AAB распространяется только на новые приложения и новые версии приложений. Всё, что уже попало в Google Play и попадёт до августа — останется в APK-пакетах. Пользователь сможет заметить разве что сокращение времени установки приложений и уменьшение занятого места.

Однако любители устанавливать приложения вручную, не через Google Play, наверняка столкнутся с трудностями. Как минимум, им придётся ставить App Bundle через специальные инсталляторы вроде APKMirror Installer. Его создатели заявляют о поддержке App Bundle, но уже понятно, что процесс установки из сторонних источников значительно усложнится.

#android #google #смартфоны