Firma Hike, która powstała w 2012 r., tworzy usługi, które mają uprościć internet i umożliwić dostęp do niego w Indiach. Hike łączy czat, wiadomości, kanały i integracje z aplikacjami innych firm do transportu i płatności. Firma opracowała te funkcje bardzo szybko i w różnych momentach, co spowodowało powstanie „znacznego długu technicznego i architektonicznego”. Ponieważ ten dług techniczny stawał się wąskim gardłem dla stabilności, łatwości konserwacji i wydajności, firma chciała szybko uprościć swój kod.
Rozwiązanie
Firma Hike sięgnęła po składniki architektury Androida, które, jak mówi dyrektor ds. technicznych Vishwanath Ramarao, stały się „naszym szwajcarskim scyzorykiem do rozwiązywania wszystkich tych problemów”. Zaczęła używać ViewModel, która umożliwia przetrwanie danych podczas zmian konfiguracji (takich jak obracanie ekranu); LiveData, czyli klasy obserwatora danych; oraz biblioteki trwałości Room. „Jesteśmy nowoczesną, reaktywną aplikacją, a biblioteki Room i LiveData doskonale pasują do naszych zasad projektowania” – dodaje Ramarao.
Firma Hike testuje też bibliotekę Paging, która ułatwia aplikacji stopniowe wczytywanie informacji w miarę potrzeb ze źródła danych bez przeciążania urządzenia i zbyt długiego oczekiwania na duże zapytanie do bazy danych.
„Znaliśmy ogólnie komponenty architektury i chcieliśmy dowiedzieć się o nich więcej” – mówi Ramarao. „To, co zaczęło się jako badanie sprawdzonych metod w ekosystemie Androida, stało się ważnym narzędziem do radzenia sobie z długiem technicznym i architektonicznym. Ostatecznie stało się to sposobem na modernizację naszej architektury i praktyk programistycznych”.
Wyniki
Dzięki komponentom architektury firma Hike znacznie zmniejszyła łączną liczbę wierszy kodu w swojej aplikacji, a także sprawiła, że kod stał się bardziej czytelny i łatwiejszy w utrzymaniu. Komponenty architektury Androida pomogły im też zwiększyć odsetek użytkowników, którzy nie doświadczyli awarii, do ponad 99%, co wcześniej było dla nich trudne do osiągnięcia.
Rozpocznij
Składniki architektury Androida są dostępne dla wszystkich deweloperów w ramach Androida Jetpack. Pierwsze kroki z komponentami architektury Androida