X

Flutter 助力 Google Pay 推动全球产品开发

作者 / 工程总监 David Ko 及 Pankaj Gupta、软件工程师 Jeff Lim 及 Will Horn

三年前,我们发布了 Google Pay 印度版 (当时称作 Tez),当时我们的愿景是为所有印度人民打造一款便捷而安全的支付应用。我们以实现便捷支付的目标为前提,构建了一个让支付如同聊天一样简单的界面。简洁的设计立即引发了用户的共鸣。随着时间的推移,我们还陆续加入了一些除支付外的新功能。如今,用户可以通过该应用完成支付账单、手机充值、即时从银行贷款以及购买火车票等更多操作。去年,我们还在印度发布了 Spot Platform,商家可利用该平台在 Google Pay 应用内打造品牌体验,以更具吸引力的方式与客户建立联系。

当我们着眼于将印度的开发经验拓展至世界其他地区时,我们想要将关注重点放在快速高效的开发环境上,令其具有现代风格与吸引力,并兼具灵活性,从而确保 UI 清爽干净。更为重要的一点是,我们能通过该开发环境完成一次写入,即可同时在 iOS 和 Android 上进行部署,由此来触达更广泛的用户。

很明显,我们需要构造这样的开发环境,并确保其能在各种支付渠道、基础架构和操作系统下正常运行。但是随着 Google Pay 在印度的发展势头日渐强劲,以及其本身快速发展的产品特性,开发资源限制了我们无法立即开展这一工作。

在权衡多种选择后,显然 Flutter 才是明智之选。我们选择 Flutter 的三个理由:

  • 可通过 Dart 完成一次写入,并能同时在 iOS 和 Android 上进行部署,使得 iOS 和 Android 上的用户都能获得同样的最佳体验;
  • 在开发期间可使用即时编译和热重载功能,从而实现 UI 快速迭代,大幅提高开发者效率;
  • 预编译功能可以确保实现高性能部署。
  • Flutter 开发者中文社区https://flutter.cn/

接下来的任务就是着手开发。起初我们是一个小团队,成员只有三名来自 Android 和 iOS 的软件工程师。在那段日子里,我们全神贯注,热情满满。首先我们创建了应用的垂直切片 (vertical slice),其中包括主页、聊天和支付 (包含印度关键的本地支付插件)。团队先是尝试了混合方法,在发现其不可扩展后决定完全重构程序。

我们为团队里的其他工程师进行了几次小型迭代冲刺,使得他们能够重构 Flutter 中的内容并提供反馈。Flutter 深受众人的喜爱,您可以看到人们在谈论 Flutter 快速构建 UI 的性能时,脸上流露出的激动神情。最令人激动的是,团队可以在开发过程中得到即时反馈。我们还可以利用高质量的 Flutter widget 来简化开发。

在仔细权衡风险并分析了我们的迁移案例后,我们决定全面采用 Flutter 进行开发。这是具有里程碑意义的重构,而在我们重构功能时,现有应用还在继续发展。在几个月的开发工作后,Google Pay 现可在印度和新加坡的开放测试中使用 Flutter。印度和新加坡的用户能够访问 Google Play 商店页面,选择 Google Pay 以进入测试版计划,体验基于 Flutter 打造的最新应用。下一步,我们期待利用 Flutter 来发布 Google Pay,以供全世界的 iOS 和 Android 用户使用。

Google Payhttps://play.google.com/store/apps/details?id=com.google.android.apps.nbu.paisa.user

我们希望本文能帮助您了解如何处理和发布一款完全重构的现有应用,以供数百万用户和各种规模的企业所使用。如果没有 Flutter 平台的持续进步,我们将无法做到这一点。衷心感谢 Flutter 团队,因为如今我们正站在他们的肩膀上!

完全迁移后,Google Pay 将成为 Flutter 平台最大的生产部署之一。我们期待在未来与大家分享向 Flutter 转型的更多经验。

转载自:谷歌开发者原创文章