Caribou Coffee
Caribou Coffee 使用 Flutter 将其应用程序迁移到单个代码库
目标
经过七年的发展,Caribou Coffee 的移动应用程序需要进行重大更新。第一个版本是用 Titanium 编写的,存在崩溃率高、移动体验笨拙以及开发者社区萎缩等问题。它在 2018 年用 Swift 和 Kotlin 重写,以提供原生体验,但维护功能一致性非常耗时。三年后,Caribou 的敏捷开发团队越来越难以在 iOS 和 Android 平台之间维护功能体验和功能。
为了解决这个问题,团队希望找到一个易于使用和学习的平台,拥有不断壮大的开发者社区,提供流行的 SDK 用于常见的 SaaS 提供商,可以与平台原生功能集成,并且对最终用户来说感觉快速而自然。
为什么选择 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 构建过程。因此,在接下来的几个月里,该团队使用单个代码库为 iOS 和 Android 应用程序重写了 Caribou Coffee 应用程序。
“Flutter 的单一代码库让所有相关人员都感到安心,并将我们的移动团队团结在一起。”
- Ben Alman,Caribou Coffee 首席软件工程师
结果
迁移到 Flutter 使 Caribou 的设计师和开发人员能够开始协同工作。该团队将 Zeplin 风格指南归功于在团队之间进行更有效的对话和决策。
由于 Flutter 的单一代码库,Caribou 的所有开发人员现在都可以参与功能创建。在迁移之前,50% 的团队致力于维护功能一致性。
基于他们的成功,Caribou 计划继续使用 Flutter 来增强他们的应用程序。接下来,该团队很高兴使用 Flutter 将 Material You 引入应用程序,添加尊重隐私的位置感知功能以增强得来速体验,并使朋友们更容易分别定制饮料但一起购买。