为什么想用 Flutter

作为 iOS 独立开发者,我一直有一个痛点:Android 用户的请求。

“什么时候出安卓版?”

这个问题我收到了无数次。

所以今年我决定尝试一下 Flutter,看看能不能同时覆盖两个平台。

学习过程

花了大约 3 周时间系统学习 Flutter:

  • 官方文档
  • YouTube 教程
  • 实际动手写了几个 Demo

整体体验还不错,Dart 语言上手比较快,Hot Reload 确实很爽。

尝试迁移闪念

我选择了闪念作为试验田,尝试用 Flutter 重写核心功能。

遇到的问题

1. 音频处理

闪念的核心是语音录制。在 Flutter 里处理音频比 iOS 原生复杂很多:

  • 需要写 Platform Channel
  • 第三方库的质量参差不齐
  • 一些 iOS 特性无法完美复现

2. UI 细节

虽然 Flutter 的 UI 能力很强,但要做到和原生 iOS 一样的质感,需要付出大量额外努力:

  • 滑动的物理效果
  • 键盘交互
  • 系统控件的一致性

3. 包体积

Flutter 打包后的体积比原生大很多,这对一个”极简”定位的 App 来说不太理想。

最终决定

经过 2 个月的尝试,我决定放弃 Flutter 方案。

原因不是 Flutter 不好,而是:

  1. 投入产出比:迁移成本太高,可能需要半年以上
  2. 质量妥协:无法达到原生的品质标准
  3. 维护成本:需要同时维护两套逻辑

现在的计划

暂时专注 iOS 平台,把产品做到极致。

对于 Android 需求,考虑:

  • 某些产品做纯 Web 版(如时间胶囊)
  • 等 Swift 跨平台方案成熟
  • 或者未来招一个 Android 开发

反思

这次”失败”其实很有价值:

  1. 亲身验证了跨平台的利弊
  2. 学习了新技术,拓宽视野
  3. 更坚定了专注的决心

有时候,知道什么不该做,和知道什么该做一样重要。