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 .