Google 课堂

使用 Flutter 提高生产力

成功指标

98%

共享移动代码

66%

减少代码量

50%

提高开发速度

当 Google 课堂团队看到 GPay 团队在迁移到 Flutter 后生产力显著提高时,他们决定也进行切换。观看视频了解过程。

当新冠疫情突然将各地的学生转为远程学习时,Google 课堂团队发现自己几乎在一夜之间以不同的规模运行。到 2021 年 9 月,课堂支持了数百万新的月活跃用户,需要迅速扩大团队,以快速满足这些用户在各个平台上的需求。由于移动团队人手紧张,Google 课堂决定探索能够减轻开发人员负担的解决方案。

为什么选择 Flutter?

Google 课堂团队知道 Flutter 提供了他们想要的许多功能,包括支持多个平台的单一代码库。他们根据多项基准评估了 Flutter,包括其对延迟、卡顿、内存、二进制文件大小、可访问性和招聘难易程度的影响,并高兴地看到采用 Flutter 的好处大于潜在的退步。团队预计在一些方面会有退步,例如早期不稳定(几乎是发布任何全新应用程序固有的)和二进制文件大小,但他们相信 Flutter 的单一代码库将使他们能够长期改进这些方面。基于此成功,团队获得了将现有 Google 课堂应用程序迁移到 Flutter 的批准。

他们的解决方案

团队将工作分为两个发布,一个用于 iOS,另一个用于 Android。在用 Flutter 构建了一个全新的 iOS 应用程序后,Google 课堂在六个月后发布了 Android 版本。

团队中的大多数人以前从未使用过 Flutter,但 Google 课堂的大多数工程师报告说,Flutter 开发比原生开发更容易。特别是,他们认为热重载是提高生产力的“游戏规则改变者”。它使他们无需重新打开应用程序即可刷新应用程序,消除了不必要的上下文切换,节省了时间并减轻了开发人员的心理负担。

成果

迁移到 Flutter 为 Google 课堂带来了诸多好处。它将增量构建时间从几分钟缩短到几秒钟,他们估计这每月可节省他们整整一周的开发人员时间。他们报告说,单一代码库将跨平台的开发时间缩短了“至少 50%”,并简化了他们的发布。

还有其他好处。Flutter 将 Google 课堂的代码库大小减少了 54%,使其更易于维护。应用程序性能也得到改善,包括中位数启动延迟减少 62%,跟踪的 CUJ 延迟减少 63%。