Monzo создает более надежное и качественное приложение с помощью Compose

Monzo — это банк и приложение, предлагающее цифровые финансовые услуги. Их миссия — заставить деньги работать на всех. Система дизайна Monzo начала отклоняться от Material Design, поэтому им нужен был простой способ написания и поддержки пользовательских компонентов , которые постоянно развиваются, поэтому они выбрали Jetpack Compose.

Что они сделали

Компоненты Compose the Material Design представляют собой слой над API-интерфейсами, не зависящими от системы проектирования. Monzo использовала базовые API для создания собственной библиотеки компонентов, используя компоненты Material в качестве эталона. Они начали с переноса экрана за раз, а теперь используют Compose на всех новых экранах. Теперь Compose используется в производстве всеми инженерами Android: «Мы не столкнулись с какими-либо серьезными проблемами и поэтому чувствовали себя достаточно уверенно, чтобы начать использовать его для некоторых избранных новых функций, а со временем и для всех новых функций».

Результаты

Команда Monzo создала компоненты, которые позволяют им легко создавать новые экраны: «Компоненты, которые мы предоставляем «из коробки», значительно упрощают создание экрана во время изучения Compose. API-интерфейсы на основе слотов — это фантастический шаблон, который позволяет нам легко создавать более крупные компоненты из множества маленьких строительных блоков».

С помощью Compose команда Monzo смогла создать более качественное приложение, добавив замечательные функции, которые раньше они не могли использовать в своих спринтах: «Одним из примеров является анимация — ее так легко добавить в Compose, что для этого очень мало причин. не анимировать такие вещи , как изменения цвета/размера/высоты. Эти «приятные» анимации зачастую слишком сложны, чтобы оправдать усилия и сложность системы View».

Их код теперь короче, его легче читать, понимать и поддерживать: «Декларативный код гораздо легче рассуждать, чем код, который манипулирует изменяемой иерархией пользовательского интерфейса. Кроме того, гораздо проще отслеживать код , когда он написан на одном языке и зачастую в одном и том же файле, вместо того, чтобы переключаться между Kotlin и XML. Даже не рассказывайте мне о темах и стилях XML! Темы намного проще понять в Compose. Наша тема состоит только из свойств, которые мы определяем, значения одинаковы на всех устройствах, а поскольку она написана на Kotlin, ее действительно легко искать и отслеживать в IDE».

Compose позволил команде Monzo легко протестировать свое приложение и убедиться в его доступности: «Это помогло нам написать тесты, которые менее хрупкие, работают надежно и дают нам большую уверенность в том, что наше приложение действительно работает в руках наших пользователей. Тестирование с помощью системы семантики также гарантирует, что наши экраны по умолчанию доступны как минимум в достаточной степени».

Начать

Узнайте больше о Compose .