Monzo 使用 Compose 构建更强大、更优质的应用

Monzo 是一家银行和应用产品 数字金融服务他们的使命是赚钱 人人皆宜。Monzo 的设计系统开始偏离 Material Design, 他们希望能够轻松地编写和维护自定义组件,这些组件 所以他们选择了 Jetpack Compose。

策略

使用 Compose 时,Material Design 组件以层的形式提供 不局限于设计的基础 APIMonzo 使用基础 API 构建 自己的组件库,并使用 Material 组件作为参考。他们 从一次迁移一个界面开始,现在在所有新界面中都使用 Compose。 现在,所有 Android 工程师都在在生产环境中使用 Compose:“我们 因此我们没有遇到任何重大问题,因此有信心开始 将它用于部分精选新功能,最终用于所有新功能。”

结果

Monzo 团队打造了组件,使他们能够轻松构建 屏幕:“我们开箱即用的组件可以制作屏幕 同时又能获得更顺畅的体验。基于槽位的 API 是 这种模式可让我们非常轻松地构建更大的组件 从许多小构建块中取而代之。”

借助 Compose,Monzo 团队得以构建更高质量的应用, 以前无法通过其应用实现的 Sprints:“其中一个例子是动画 - 在 Compose 中添加它们非常容易, 几乎没有理由不为颜色/尺寸/高度等元素添加动画效果 更改。这些“锦上添花”的动画往往让人觉得难以置信 简化 View 系统的工作量和复杂性。”

其代码现在变得更短,也更便于阅读、理解和 “声明式代码比推断性代码更容易推断 操控可变的界面层次结构。此外,代码也更容易跟踪 通常都是采用同一种语言,而不是 在 Kotlin 和 XML 之间来回切换。甚至都不开始使用 XML 主题和样式!Compose 中的主题更容易理解。我们的主题 仅包含我们定义的属性,因此这些值在各个 而且由于是采用 Kotlin 语言,因此很容易在 安装。”

Compose 使 Monzo 团队能够轻松测试他们的应用,并确保他们的应用 无障碍:“它帮助我们编写出了更不易受损、运行更可靠的测试, 让我们确信我们的应用确实是在 用户。通过语义系统进行测试还可以确保我们的屏幕 至少默认可访问。”

开始使用

详细了解 Compose