Dzięki pakietom Twitter zmniejsza rozmiar aplikacji o jedną trzecią

Dowiedz się, jak pakiety Android App Bundle pomogły Twitterowi uprościć aplikację i zmniejszyć jej rozmiar.

Wprowadzenie

Zespół Twittera bardzo dba o to, żeby ich aplikacja była lekka i łatwa do zainstalowania. Ma to szczególne znaczenie dla użytkowników z krajów rozwijających się, w których połączenia z internetem bywają niestabilne i utrudniają korzystanie z dużych aplikacji. „Chcemy, żeby z Twittera mogły korzystać wszystkie osoby w dowolnym miejscu, szczególnie w krajach rozwijających się. Zdaliśmy sobie sprawę, że wielkość pliku APK jest przeszkodą dla wielu użytkowników” – powiedział César Puerta, starszy programista w firmie Twitter. „Pakiety aplikacji dały nam proste rozwiązanie, które umożliwia znaczne zmniejszenie pliku bez żadnego wysiłku z naszej strony”.

Rozwiązanie

Zanim zespół Twittera zaczął używać pakietów, ręcznie dzielił aplikację na 4 interfejsy ABI, aby znacznie ograniczyć jej rozmiar. Pakiet aplikacji okazał się jednak znacznie prostszym i lepszym rozwiązaniem, więc zespół szybko zdecydował się na zmianę.

Programiści Twittera zapoznali się dokładnie z funkcją podpisywania aplikacji przez Google Play, której wdrożenie jest wymagane w pakietach aplikacji. Musieli upewnić się najpierw, że spełnia ona ich standardy bezpieczeństwa. „Na szczęście zabraliśmy się za to z odpowiednim wyprzedzeniem” – powiedział César. „Po opracowaniu ostatecznej wersji pakietów aplikacji wdrożenie tej funkcji okazało się dość proste i nie zauważyliśmy żadnych błędów wynikających z regresji”.

Programiści korzystali z narzędzia bundletool, aby wyodrębniać pliki APK przekazywane do zespołu ds. kontroli jakości. Przed opublikowaniem wersji produkcyjnej przeprowadzili też intensywne testy z udziałem wielu użytkowników. Wszystko przebiegło tak sprawnie, że zespół przeniósł wewnętrzną wersję testową aplikacji bezpośrednio do Sklepu Play, aby dotrzeć do szerszego grona użytkowników i móc szybciej znaleźć ewentualne błędy.

Wyniki

Na koniec zespół błyskawicznie udostępnił nową, modułową wersję aplikacji 13,6 mln użytkowników. Publikowanie nowych wersji aplikacji Twitter już wcześniej odbywało się automatycznie, więc nowy proces bardzo przypominał poprzedni, ale pojawił się nieoczekiwany plus. „Mając jeden identyfikator wersji na wydanie zamiast 4 osobnych interfejsów ABI, mogliśmy skonsolidować nasze raporty na temat aplikacji” – powiedział César.

Co ważniejsze, rozmiar całej aplikacji udało się ograniczyć o 30–40%, co stanowiło świetne uzupełnienie wcześniejszych oszczędności uzyskanych dzięki interfejsom ABI. Udało się to osiągnąć między innymi za pomocą modułu funkcji do rozpowszechniania dużej biblioteki natywnej – 3 MB na interfejs ABI – która była potrzebna tylko na niewielkiej liczbie urządzeń.

Twitter planuje teraz przeniesienie kolejnej aplikacji, Periscope – transmisja na żywo, również na platformę pakietów aplikacji. Zespół pracuje też nad modularyzacją całej aplikacji Twitter. „Kiedy przejdziemy na osobne moduły, pewnie zastanowimy się nad dynamiczną dystrybucją wielu funkcji” – powiedział César. Według niego może to jeszcze potrwać od 6 do 12 miesięcy. Ma również nadzieję, że modularyzacja pozwoli programistom na ponowne wykorzystanie modułów w obu aplikacjach – Twitter i Periscope. Dzięki temu zaoszczędzą dużo czasu i unikną niepotrzebnego powielania kodu.

Rozpocznij

Z pakietów Android App Bundle mogą korzystać wszyscy deweloperzy aplikacji i gier. Zacznij już dziś

Otwórz Konsolę Play