Mercari 让数百万人可以购物和销售几乎任何商品。该公司于 2013 年在日本成立,现已成为日本最大的以智能手机为中心的 C2C 市场。Mercari 的客户端架构团队于 2020 年开始使用 Jetpack Compose,目标是使用现代解决方案和技术,以实现长期扩展,为新应用构建其技术堆栈。
他们做了什么
Mercari 团队需要在 Android Views 上实现一个具有复杂状态管理和样式的设计系统,这是一项非常复杂的任务。通过使用 Jetpack Compose,他们不仅能够实现这个复杂的系统,还帮助他们减少了每个屏幕的开发时间。
Jetpack Compose 还帮助团队为其新应用编写利用设计系统的 UI 代码,使他们的 UI 代码简洁易懂。因此,团队可以花更多时间编写屏幕和业务逻辑,例如对深色主题的实际支持。
此外,Mercari 团队编写了一个用于将 Figma 与设计系统集成的概念验证工具,该工具可以根据组件设计自动生成 UI 代码。团队表示,由于 Compose 的声明性特性,开发此工具更容易。
“一旦 Android 开发者习惯了编写 Jetpack Compose 代码,他们就不会想再回到以前的方式了。” - Anthony Allan Conda,Mercari Android 技术负责人
成果
在 Jetpack Compose 和他们新的设计系统之间,Mercari 能够用更少的代码编写屏幕。在具有无限滚动内容的屏幕上(一个常见的用例),他们实际上将代码量减少了约 56%。因此,他们能够在相同的时间内编写更多的屏幕,从而有更多的时间编写业务逻辑和代码的其他部分。
此外,他们还能够利用 UI 本身实现更多功能,例如加入动画并使用直观的 API,如 AnimatedVisibility、Crossfade 和 Animatable。
Mercari 计划在新应用发布之前继续使用 Jetpack Compose。他们的设计系统(使用 Jetpack Compose 编写的 Android SDK)也设计为可与 Mercari 内部的多个应用配合使用。
开始使用
详细了解 Jetpack Compose。