Caribou Coffee

Caribou Coffee

Caribou Coffee 使用 Flutter 将其应用程序迁移到单个代码库

目标

七年后,Caribou Coffee 的移动应用程序需要进行重大更新。第一个版本是用 Titanium 编写的,存在崩溃率高、移动体验笨拙以及开发者社区缩减等问题。它于 2018 年使用 Swift 和 Kotlin 重写,以提供原生体验,但保持功能一致性非常耗时。三年后,Caribou 的敏捷开发团队越来越难以在 iOS 和 Android 平台之间维护功能体验和功能。

为了解决这个问题,团队希望找到一个易于使用和学习的平台,拥有不断增长的开发者社区,提供常用 SaaS 提供商的流行 SDK,能够与平台原生功能集成,并且对最终用户来说感觉快速且自然。

为什么选择 Flutter?

团队对新的解决方案进行了全面搜索,除了 Flutter 之外,还审查了 Quasar、Ionic、React Native、Xamarin、Kotlin Multiplatform 和 NativeScript。他们希望找到一个拥有大量实际用例、第三方支持、高质量开发者体验和良好文档的平台,以及其他标准。

经过一个月的审查过程,包括在每个框架上构建演示应用程序,Caribou 因为其多平台功能、灵活性和开发效率而选择了 Flutter。团队也喜欢 Flutter 与他们已使用的其他 Google 工具(包括 Firebase SDK 和平台来跟踪和衡量其移动应用程序使用情况以及用于移动功能的 Remote Config)的无缝集成。

他们的解决方案

Caribou 邀请 Objective C、Kotlin 和 JavaScript 开发人员参与他们迁移到 Flutter 的“启动”。最初,他们担心采用 Dart 对一些开发人员来说会是一个挑战,但每个人都能够很容易地理解它。团队能够快速构建原型,并且他们现有的 CI/CD 管道很好地适应了 Flutter 构建流程。因此,在接下来的几个月里,团队使用 Flutter 重写了 Caribou Coffee 应用程序,使用单个代码库同时构建 iOS 和 Android 应用程序。

“Flutter 的单个代码库让所有相关人员都感到安心,并让我们的移动团队走到了一起。”

- Ben Alman,Caribou Coffee 首席软件工程师

成果

迁移到 Flutter 使 Caribou 的设计师和开发人员能够开始协同工作。团队认为 Zeplin 风格指南能够在团队之间进行更有效的沟通和决策。

由于 Flutter 的单个代码库,Caribou 的所有开发人员现在都可以参与功能创建。在迁移之前,50% 的团队致力于维护功能一致性。

根据他们的成功经验,Caribou 计划继续使用 Flutter 来增强其应用程序。接下来,团队很高兴使用 Flutter 将 Material You 引入应用程序,添加尊重隐私的位置感知功能以增强得来速体验,并使朋友更容易分别自定义饮料但一起购买。