宝马

BMW

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

目标

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

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

为什么选择 Flutter?

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

他们的解决方案

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

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

尼古拉·克雷默博士,宝马集团离线平台副总裁

成果

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

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

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