Wprowadzona w 2013 r. BeautyPlus to jedna z najpopularniejszych na świecie aplikacji do edycji zdjęć, z której korzystają wizażyści, fotografowie i zwykli użytkownicy telefonów komórkowych. Z aplikacji korzysta co miesiąc około 50 milionów osób, które edytują i dodają filtry do swoich selfie, zdjęć i filmów. Opracowana przez chińską firmę Xiamen Meitu Technology Co., Ltd. (aplikacja, która jest szczególnie popularna wśród miłośników selfie) służy do wszystkiego, od korygowania odcienia skóry i rozjaśniania uśmiechu po wyszczuplanie rysów twarzy i usuwanie niedoskonałości za pomocą kilku prostych przeciągnięć i kliknięć.
Firma często aktualizuje aplikację, dlatego potrzebuje dużej liczby deweloperów. Z czasem jednak podstawowa architektura stała się mniej jednolita i przejrzysta. Ten dynamiczny zespół potrzebował sposobu na informowanie współpracujących deweloperów o postępach prac, a także na uproszczenie zarządzania cyklem życia i rozwiązywanie problemów związanych z odświeżaniem asynchronicznego interfejsu.

Ilustracja 1. Przykładowa sesja edytowania zdjęć w aplikacji BeautyPlus
Rozwiązanie
Komponenty architektury Androida zapewniły narzędzia, których deweloperzy potrzebowali, aby kod aplikacji był zwięzły, stabilny i łatwiejszy do odczytania dla nowych inżynierów.
Deweloperzy BeautyPlus zaczęli używać m.in. ViewModel
, co ułatwia przetwarzanie logiki dzięki aktualizacjom aktywności i fragmentów. ViewModel
jest przeznaczony do przechowywania danych związanych z interfejsem i zarządzania nimi w sposób uwzględniający cykl życia, który jest zgodny z cyklem życia innych komponentów aplikacji.
Użyli też komponentu LiveData
, czyli klasy przechowującej dane, która jest też świadoma cyklu życia, aby mieć pewność, że interfejs użytkownika jest zgodny ze stanem danych. Zespół uznał, że komponenty architektury Androida są łatwe w użyciu i nie napotkał żadnych problemów. Korzyści były szybko zauważalne.
Wyniki
Dzięki komponentom architektury Androida aplikacja BeautyPlus od razu miała o 5% mniej kodu i była o 15% bardziej czytelna. Architektura była też bardziej ujednolicona, co oszczędzało deweloperom czas i wysiłek oraz ułatwiało nowym deweloperom szybkie opanowanie wiedzy. Ponadto zmniejszyła się liczba wycieków pamięci, odświeżanie danych stało się łatwiejsze, a deweloperzy nie musieli już martwić się aktualizowaniem asynchronicznego interfejsu.
„Gdy w przypadku BeautyPlus użyliśmy ViewModel i LiveData, kod stał się bardziej zwięzły i czytelny, a architektura kodu została ujednolicona” – mówi Zheng Songyin, starszy menedżer ds. rozwoju. „Działanie cyklu życia aplikacji było bezpieczne, a stabilność uległa poprawie”.
Rozpocznij
Składniki architektury Androida są dostępne dla wszystkich deweloperów. Pierwsze kroki z komponentami architektury Androida