Команда Твиттера уменьшила размер приложения на треть с помощью наборов App Bundle

Узнайте, как с помощью наборов Android App Bundle удалось уменьшить размер приложения "Твиттер" и упростить его.

Фон

Команда Твиттера стремится к тому, чтобы их приложение легко устанавливалось и не занимало много места. Это особенно важно для пользователей в развивающихся странах, где из-за нестабильного подключения к интернету скачивать большие файлы проблематично. "Мы хотим сделать Твиттер доступным для всех, особенно в странах с формирующимся рынком. Но, как выяснилось, размер APK-файла может помешать установке приложения, – рассказал Сезар Пуэрта, старший инженер-программист Твиттера. – Наборы App Bundle – это простой способ значительно уменьшить размер дистрибутива".

Что было сделано

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

Сначала специалисты изучили функцию подписания приложений в Google Play и требования к наборам App Bundle, чтобы убедиться, что они отвечают стандартам Твиттера в отношении безопасности. "Мы заранее всё проверили и потратили много времени на это, – сказал Сезар. – Зато когда окончательная версия наборов App Bundle была создана, мы легко ее внедрили и не заметили никаких проблем".

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

Результаты

Когда преобразование было завершено, команда Твиттера выпустила новую модульную версию приложения для своих 13,6 миллиона пользователей. Выпуск версий был автоматизирован, поэтому новый процесс существенно не отличался от прежнего. У него даже обнаружилось преимущество. "Обработка одного идентификатора версии для выпуска вместо четырех (при разделении ABI) помогла нам консолидировать наши показатели", – поделился Сезар.

Что ещё более важно, размер приложения уменьшился на 30–40 % по сравнению с тем, что удавалось получить при разделении ABI. Чтобы добиться этого, специалисты, например, стали использовать модули динамических функций для распространения большой нативной библиотеки (3 МБ на ABI), которая необходима только на небольшом количестве устройств.

Команда Твиттера планирует использовать наборы App Bundle в приложении Periscope, которое позволяет проводить прямые трансляции в Твиттере. Специалисты также работают над модуляризацией всего приложения "Твиттер". "Как только мы перейдем к полностью изолированным модулям функций, мы рассмотрим возможность динамического распространения для ряда из них", – заявил Сезар, отмечая, что на это может потребоваться от 6 до 12 месяцев. Он также выразил надежду на то, что модульная структура позволит разработчикам повторно использовать отдельные компоненты для Твиттера и Periscope, и это поможет им сэкономить много времени.

Пора начать

Наборы Android App Bundle могут использовать разработчики любых игр и приложений. Начните сейчас!

Открыть Play Console