FuelBuddy 的客户端 App 最初是一个渐进式 Web 应用(PWA)。这在 Android 上没问题,但在 iPhone 上撞了墙:Apple 只允许 Web App 跑在自家的 WebKit 引擎上,并给它们二等待遇——添加到主屏幕不可靠、存储受限、推送通知也靠不住——甚至一度打算把主屏幕 Web App 从 iOS 里彻底拿掉。对 FuelBuddy 来说,这意味着 PWA 实际上没法服务 iPhone 用户,而原生 App 是触达他们唯一可靠的办法。我是把这个 App 用 React Native 重写的工程团队的一员。
我参与了什么
- 从 PWA 到 React Native: 把 App 重写为编译型的 React Native 应用,重点放在移动端 UI 上,确保它在 iOS 和 Android 上都像原生应用,而不是套壳的网页。
- 跨栈协作: 我主要负责移动端前端,但当某个功能需要新的数据接口时,我自己在 Hasura 的 GraphQL 引擎上把 CRUD API 建了起来,这样工作就不会卡在等别的团队上。
- 和团队一起交付: 与其他开发者和产品负责人紧密配合,把需求变成完整的功能,让发布持续推进。
为什么它有意义
改用原生让 FuelBuddy 摆脱了那个靠不住的平台,把一个统一、一致的 App 摆到了 iPhone 和 Android 客户面前。跨栈搭把手也帮团队保住了发布节奏。