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

Monzo to bank i aplikacja oferująca cyfrowe usługi finansowe. Ich misją jest zarabianie na pracy dla 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.

Zastosowane rozwiązanie

W Compose komponenty Material Design są dostępne jako warstwę nad interfejsami API podstawowych niezależnych od projektu. Firma Monzo skorzystała z podstawowych interfejsów API do stworzenia własnej biblioteki komponentów, korzystając z komponentów Material Design. Zaczęli od przenoszenia pojedynczych ekranów, a teraz korzystali z funkcji Utwórz na wszystkich nowych ekranach. Obecnie wszyscy inżynierowie Androida używają tej usługi w środowisku produkcyjnym: „Nie napotkaliśmy żadnych poważnych problemów, więc uznaliśmy, że na tyle pewnie, by zacząć używać jej do obsługi niektórych wybranych funkcji, a ostatecznie także wszystkich nowych funkcji”.

Wyniki

Zespół Monzo stworzył komponenty, które pozwalają na łatwe tworzenie nowych ekranów: „Dostarczane przez nas komponenty sprawiają, że konstruowanie ekranu jest możliwe, a nauka pisania znacznie płynniej działa. 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 funkcji Compose zespół Monzo opracował aplikację wyższej jakości, dodając do niej wspaniałe funkcje, które wcześniej nie były dostępne w ramach sprintów: „Przykładem są animacje – można je tak łatwo dodać w usłudze Compose, że nie ma bardzo powodów, by nie animować elementów takich jak zmiana koloru, rozmiaru czy wysokości. Takie animacje są często zbyt trudne w stosunku do stopnia złożoności systemu widoków.

Ich kod jest teraz krótszy i łatwiejszy do czytania, zrozumienia i obsługi: „Kod deklaracja jest znacznie łatwiejsza do wyciągnięcia wniosków niż kodu, który manipuluje zmienną hierarchią interfejsu. Znacznie łatwiej jest też śledzić kod, gdy jest on napisany w tym samym języku i często w tym samym pliku, niż ciągle przeskakiwać między Kotlinem a XML. Nie chcę nawet zaczynać od motywów ani stylów XML. Znacznie łatwiej jest zrozumieć tworzenie motywów w funkcji Compose. Nasz motyw składa się tylko z właściwości, które zdefiniujemy, wartości są spójne na różnych urządzeniach, a ponieważ umieszczony jest w Kotlin, można łatwo je wyszukiwać i śledzić w IDE.”

Narzędzie Compose pozwoliło zespołowi Monzo łatwo przetestować aplikację i zapewnić dostępność jej aplikacji: „Pomogło nam to pisać testy, które są mniej delikatne, działają niezawodnie i dają nam pewność, że nasza aplikacja faktycznie działa w rękach naszych użytkowników. Testowanie za pomocą systemu semantycznego gwarantuje, że nasze ekrany są co najmniej domyślnie dostępne”.

Rozpocznij

Dowiedz się więcej o funkcji Utwórz.