iHeartRadio tworzy czystszą i bardziej przejrzystą bazę kodu dzięki komponentom architektury Androida

iHeartRadio z Nowego Jorku oferuje nieograniczony dostęp do muzyki i tysięcy stacji radiowych w jednej aplikacji. Firma prowadzi działalność w zakresie nadawania radiowego, mediów online, mobilnych, cyfrowych i społecznościowych, koncertów i wydarzeń na żywo, syndykacji, usług badań muzycznych oraz reprezentacji niezależnych mediów.

Od momentu wprowadzenia aplikacji w 2008 roku użytkownicy z całego świata pobrali ją ponad miliard razy. Pod koniec 2017 r. baza kodu była już jednak przestarzała, a zarządzanie kodem i integrowanie nowych funkcji okazało się trudne.

Rozwiązanie

iHeartRadio wybrało komponenty architektury Androida, gdy zaczęło ulepszać swój kod. Prosta i łatwa we wdrożeniu biblioteka trwałości Room spodobała się inżynierom iHeartRadio ze względu na jej możliwości obsługi takich elementów jak zapytania asynchroniczne i obsługa RxJava, z której iHeartRadio korzysta w swoim kodzie na dużą skalę.

Zastosowali też komponenty uwzględniające cykl życia, które wykonują działania w odpowiedzi na zmianę stanu cyklu życia innego komponentu. Inżynierowie iHeartRadio uznali te komponenty za bardzo przydatne do zmniejszania zależności wstrzykiwanych do aktywności i fragmentów. Firma stworzyła też prototypy z użyciem ViewModel, które umożliwiają zachowanie danych po zmianach konfiguracji, takich jak obracanie ekranu.

Wyniki

iHeartRadio uznało, że migracja do komponentów architektury jest łatwa, a biblioteki umożliwiają testowanie integracji. Room i inne komponenty wymagają użycia bardzo małej ilości kodu szablonowego, co oznacza, że kod aplikacji jest teraz znacznie krótszy. Komponenty architektury również spowodowały zmniejszenie liczby wycieków pamięci. Dodatkową korzyścią było to, że nowi programiści dołączający do zespołu mogli szybko się wdrożyć i zacząć pisać kod.

Wdrożenie komponentów architektury pomogło iHeartRadio stworzyć czystszą i bardziej przejrzystą bazę kodu, która ułatwia zapobieganie błędom. To dobra wiadomość dla każdej aplikacji, zwłaszcza dla tej, która oferuje kompleksowe usługi audio dla odbiorców na całym świecie.

Rozpocznij

Składniki architektury Androida są dostępne dla wszystkich deweloperów w ramach Androida Jetpack. Pierwsze kroki z komponentami architektury Androida