Monzo tworzy solidniejszą aplikację o wyższej jakości dzięki funkcji Compose

Monzo to bank i aplikacja oferująca cyfrowe usługi finansowe. Misją firmy jest sprawienie, aby pieniądze służyły wszystkim. System projektowania Monzo zaczął odbiegać od Material Design, dlatego firma chciała znaleźć łatwy sposób na tworzenie i utrzymywanie niestandardowych komponentów , które stale się rozwijają. Wybrała więc Jetpack Compose.

Rozwiązanie

W Compose komponenty Material Design są udostępniane jako warstwa nad podstawowymi interfejsami API niezależnymi od systemu projektowania. Monzo użyło podstawowych interfejsów API do utworzenia własnej biblioteki komponentów, korzystając z komponentów Material jako odniesienia. Firma zaczęła od migracji ekranu po ekranie, a teraz używa Compose na wszystkich nowych ekranach. Obecnie Compose jest używany w środowisku produkcyjnym przez wszystkich inżynierów Androida: „Nie napotkaliśmy żadnych poważnych problemów, dlatego czuliśmy się na tyle pewnie, aby zacząć używać go w przypadku wybranych nowych funkcji, a ostatecznie we wszystkich nowych funkcjach”.

Wyniki

Zespół Monzo utworzył komponenty, które umożliwiają łatwe tworzenie nowych ekranów: „Komponenty, które udostępniamy od razu po wyjęciu z pudełka, sprawiają, że tworzenie ekranu podczas nauki Compose jest znacznie łatwiejsze. Interfejsy API oparte na slotach to fantastyczny wzorzec, który bardzo ułatwia nam tworzenie większych komponentów z wielu małych elementów”.

Dzięki Compose zespół Monzo mógł stworzyć aplikację wyższej jakości, dodając ciekawe funkcje, których wcześniej nie udało się zaimplementować w sprintach: „Jednym z przykładów są animacje – w Compose można je tak łatwo dodawać, że nie ma praktycznie żadnego powodu, aby nie animować takich elementów jak zmiany koloru, rozmiaru czy wysokości. Te animacje, które są „miłym dodatkiem”, są często zbyt trudne do zaimplementowania w systemie View, aby warto było się trudzić i komplikować kod”.

Kod jest teraz krótszy, łatwiejszy do odczytania, zrozumienia i utrzymania: „Kod deklaratywny jest znacznie łatwiejszy do zrozumienia niż kod, który manipuluje zmienną hierarchią interfejsu użytkownika. Łatwiej też prześledzić kod , gdy jest on napisany w tym samym języku i często w tym samym pliku, zamiast przełączać się między Kotlinem a XML-em. Nie wspominając już o motywach i stylach XML! Motywy są znacznie łatwiejsze do zrozumienia w Compose. Nasz motyw składa się tylko z właściwości, które definiujemy, wartości są spójne na wszystkich urządzeniach, a ponieważ jest on napisany w Kotlinie, można go łatwo wyszukać i śledzić w IDE”.

Compose umożliwił zespołowi Monzo łatwe testowanie aplikacji i zapewnienie jej dostępności: „Pomogło nam to pisać testy, które są mniej podatne na błędy, działają niezawodnie, i dają nam pewność , że nasza aplikacja rzeczywiście działa w rękach naszych użytkowników. Testowanie za pomocą systemu semantyki zapewnia też, że nasze ekrany są przynajmniej w rozsądnym stopniu domyślnie dostępne”.

Rozpocznij

Więcej informacji o Compose.