Aplikacja BeautyPlus zwiększa czytelność o 15% dzięki komponentom architektury Androida

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