宝马

BMW

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

目标

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

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

为什么选择 Flutter?

由于为 Android 将 iOS 开发团队加倍(从而使成本和精力加倍)是不可能的,因此评估了一种跨平台解决方案。一个小型任务组评估了包括 Flutter 在内的几个跨平台框架。最初,团队担心 Flutter 尚未成熟到宝马所需的规模,因此他们使用其他每个框架设计了几个概念验证。然而,当团队决定放弃基于 Web 的内容以获得更好的用户体验时,所有其他平台都崩溃了。

他们的解决方案

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

“新的应用平台建立在三个支柱上:用户友好性、安全性和可靠性。它根据反馈和我们客户的使用行为,提供一套横跨所有品牌的一致设计的功能。”

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

成果

不到一年,My BMW App 于 2020 年 7 月推出,已在五大洲 47 个国家/地区建立,成为一个通用接口,为用户提供手机、车辆和数字世界之间的无缝体验。My BMW App 既提供了驾驶员与车辆之间的直接接口,又提供了与宝马经销商和宝马品牌的沟通渠道。

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

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