宝马

BMW

利用 Flutter 扩展宝马集团以客户为中心的的产品开发

目标

多年来,宝马的移动应用团队主要专注于其车辆伴侣应用(宝马和 MINI Connected 应用)的 iOS 版本。然而,在 2018 年,他们意识到 iOS 和 Android 产品在功能和设计上的差异已经变得太大。他们需要找到一种方法来确保,无论移动操作系统、宝马和 MINI 品牌如何,所有消费者都能获得相同的功能,并且不会大幅增加成本或降低功能开发速度。除了将 iOS 和 Android 整合在一起的复杂性之外,宝马集团还必须在产品方面管理更多复杂性。由于不同的法规和本地要求,宝马集团的移动应用在 45 个以上国家/地区以各种不同的版本存在。

在解决该问题时,团队有两个目标。从业务角度来看,他们希望能够根据客户反馈和业务目标,在所有品牌、平台和地区同时定期发布其产品,并具备相同的功能。为此,他们希望创建一个对开发者友好、可扩展且性能优异的平台,提供安全的实验和持续部署。

为什么选择 Flutter?

由于不可能为 Android 复制 iOS 开发团队,从而导致成本和工作量加倍,因此对跨平台解决方案进行了评估。一个小型工作组评估了几个跨平台框架,包括 Flutter。最初,团队担心 Flutter 还没有成熟到足以满足宝马所需的规模,因此他们使用每个其他框架设计了几个概念验证。然而,当团队决定放弃基于 Web 的内容以获得更好的用户体验时,所有其他平台都崩溃了。

他们的解决方案

2019 年 10 月,宝马的精选工程师团队在慕尼黑会面,讨论如何推进 Flutter 的使用。他们很快意识到,不再受特定平台的约束将使他们能够采用更灵活、基于领域的组织结构,其中一个团队可能专注于连接状态和通信抽象,而一些团队则致力于应用程序的核心平台方面,还有更多团队可以专注于为最终用户提供新的创新功能。Flutter 获得了批准,团队开始为不同的平台、国家/地区和品牌重写所有应用程序变体——但这次使用的是单个代码库。

“新的应用程序平台建立在三个支柱之上:用户友好性、安全性和可靠性。它提供了一套设计一致的功能,涵盖所有品牌,并基于反馈和我们客户的使用行为。”

宝马集团离车平台副总裁 Nicolai Kraemer 博士

结果

在开始不到一年后,“我的宝马”应用程序于 2020 年 7 月推出,并在五大洲的 47 个国家/地区确立了自己的地位,成为一个通用的界面,为用户提供手机、车辆和数字世界之间无缝的体验。“我的宝马”应用程序既提供驾驶员与其车辆之间的直接接口,也提供与宝马经销商和宝马品牌的沟通渠道。

宝马集团移动开发人员建立了一个名为“移动 2.0 平台”的内部平台,该平台允许自动构建每个品牌、市场和操作系统的版本,并自动进行测试和部署到移动世界和后端。这意味着每天都会触发多个构建,并且每次应用程序构建都会自动构建、测试和部署 96 个变体。截至 2021 年 10 月,每个应用程序变体已构建了 10,000 多个版本。一次构建和设计的能力使团队能够更快地行动。但快速周转并非是团队对转向 Flutter 感到兴奋的唯一原因。他们不再需要担心管理多个代码库,这有效地解决了功能差异的问题。

所有宝马和 MINI 客户现在都能享受统一的体验,无论他们使用什么平台访问应用程序——这也改善了用户反馈,尤其是对于历史上服务不足的 Android 应用程序。总而言之,团队能够通过转向 Flutter 来更快地行动、保持一致性和取悦用户。