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 uczynienie pieniędzy narzędziem do osiągania sukcesu przez wszystkich. System projektowania Monzo zaczął odbiegać od stylu Material Design, więc potrzebował łatwego sposobu na pisanie i utrzymywanie niestandardowych komponentów, które nieustannie ewoluują. Zdecydowała się więc na Jetpack Compose.

Rozwiązanie

W Compose komponenty Material Design są dostępne jako warstwę nad interfejsami API podstawowych niezależnych od projektu. Firma Monzo wykorzystała podstawowe interfejsy API do stworzenia własnej biblioteki komponentów, korzystając z komponentów Material Design jako odniesienia. Na początku migrowali po jednym ekranie, a teraz używają usługi Compose na wszystkich nowych ekranach. Obecnie Compose jest używane w produkcji przez wszystkich inżynierów Androida: „Nie napotkaliśmy żadnych poważnych problemów, więc zaczęliśmy używać tej technologii w przypadku wybranych nowych funkcji, a ostatecznie we wszystkich nowych funkcjach”.

Wyniki

Zespół Monzo stworzył komponenty, które umożliwiają łatwe tworzenie nowych ekranów: „Komponenty, które udostępniamy, znacznie ułatwiają tworzenie ekranów podczas nauki korzystania z Compose”. Interfejsy API oparte na przedziałach to niesamowity wzorzec, który ułatwia nam tworzenie większych komponentów z wielu małych elementów”.

Dzięki Compose zespół Monzo mógł stworzyć lepszej jakości aplikację, dodając do niej przydatne funkcje, których wcześniej nie udało się wdrożyć w ramach sprintów: „Przykładem są animacje – w Compose można je dodawać tak łatwo, że nie ma powodu, aby nie animować elementów, takich jak zmiany koloru, rozmiaru czy wysokości. Takie animacje są często zbyt trudne i trudne w obsłudze w stosunku do złożoności systemu widoków.

Ich kod jest teraz krótszy, a co za tym idzie, łatwiejszy do odczytania, zrozumienia i utrzymania: „Kod deklaratywny jest znacznie łatwiejszy do analizy niż kod, który manipuluje zmienną hierarchią UI. Łatwiej też ś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 wspominam nawet o tematach i stylach w pliku XML. Tematyzacja jest znacznie łatwiejsza do zrozumienia w sekcji Tworzenie. Nasza tematyka składa się tylko z zdefiniowanych przez nas właściwości, a wartości są spójne na wszystkich urządzeniach. Tematyka jest napisana w języku Kotlin, więc można ją łatwo wyszukiwać i śledzić w IDE.

Compose ułatwiło zespołowi Monzo testowanie aplikacji i zapewnienie dostępności: „Dzięki temu narzędziu udało nam się napisać testy, które są mniej podatne na błędy, działają niezawodnie i dają nam pewność, że nasza aplikacja działa prawidłowo w rękach użytkowników. Testowanie za pomocą systemu semantycznego zapewnia też, że nasze ekrany są co najmniej „w przypadku większości przypadków dostępne domyślnie”.

Rozpocznij

Dowiedz się więcej o Compose.