当我决定同时做 iOS 和 Android:独立开发者的真实双平台之路

发表于

道哥是一位经验深厚的 iOS 开发者。在转向独立开发后的几年里,他打造的极简系列产品——包括 极简时钟极简日记 等——凭借清爽的设计与稳定的体验,获得了大量用户的喜爱与长期使用。

与许多仅深耕苹果生态的独立开发者不同,道哥从很早就采用了“双平台并进”的策略;在 iOS 版本稳定后,他会同步推出 Android 版本。也正因为如此,我一直对他在跨平台过程中的一些选择特别好奇:包括双端功能如何对齐、遇到系统差异时的权衡、两边的运营表现、收入结构的变化,以及国内外市场带来的完全不同的挑战。

带着这些疑问,我邀请他分享自己的双平台实践经历、心态转变和一路上踩过的坑。相信这篇文章,能给仍主要聚焦在苹果生态的开发者带来一些新鲜、甚至意想不到的参考视角。

就在本文发表前,极简时钟在 Google Play 上的下载量已突破四百万(iOS 端早已达成这一成绩)

刚开始做极简时钟、极简日记这些 App 时,我的世界其实只有 iOS。那时我刚从全职工作转向独立开发,每天都希望能把 24 小时拉长一点,把所有精力倾注在 iOS 的体验打磨上。

也许是环境,也许是惯性,当时的我和很多 iOS 开发者一样,心里多少带着一点偏见:“Android 碎片化严重、交互多变、界面不统一,用户付费意愿又低,何必给自己增加麻烦?”

这种想法在当时看起来顺理成章,但随着用户数量扩大,反馈越来越多,我开始意识到一个事实:如果一个 App 想真正服务更多人,躲开 Android 并不是长久之计。

于是从 2020 年开始,我正式踏入了双平台的世界。回头看,这一步既改变了产品,也让我的开发观念发生了不小的转变。

双平台的第一课:找到靠谱的伙伴,比自己硬扛要划算得多

刚开始时,我也认真考虑过“要不自己学 Android?”。毕竟对于一个独立开发者来说,能自己掌握两个平台,听起来像是“战斗力翻倍”的事。

然而现实很快给了我一个清醒的答案:当你还要维护 iOS、加新功能、修 bug、和用户沟通,再去从零学习另一套体系,是一件注定两头都照顾不好的事。

Android 的知识体系不小,生态复杂,学习曲线比我想象得更高。想同时保持 iOS 的开发速度,又把 Android 写到“能上线”的程度——难度很高。

就在犹豫的过程中,我联系了过去的一位同事,也就是现在一直合作的安卓小哥。我们聊得很顺,兴趣方向也契合,于是合作就这样开始了。那时我心里其实挺庆幸的:终于有人能帮我把 Android 端托住,也让我能把更多时间用回到设计和体验打磨上。

不过,我们的合作方式简单到有些“反直觉”:

iOS 先跑,Android 跟进

所有功能都先在 iOS 上验证。

这个阶段我可以随意迭代,也能快速获得反馈。等我确定某个功能“值得长期留下”,才交给安卓小哥开发。这样能确保我们不会在 Android 上浪费时间做错误方向。

我录屏、截图、给资源,他就能完整复刻

我们没有写过几份正式需求文档,也没有开过冗长的评审会议。

我基本就是把动效录一下、设计图给一下,他就能迅速把功能做出来。很多时候,他给出的实现速度甚至快到让我有点难以置信。

沟通主要靠微信,几乎不设 Deadline

我们试过 Github Project,也试过更复杂的管理方式,但最后发现最有效的反而是最简单的方式:聊天、发消息、看 commit。

我不设严格截止日期,他有进度我就去测试。这种节奏看似随性,却让我们的合作稳定持续了好几年。

跨平台并不意味着“统一”,而是理解两套系统的边界

最初我对“双端一致”有一定的执念。尤其是极简时钟这种以视觉统一感为核心的产品,我甚至希望可以做到“像素级一致”。

然而实际做下来才发现:两个系统之间有些能力差得不是一点半点,靠坚持根本无法弥合。

iOS:每年都有新的 UI 能力和交互变化

尤其是 WWDC 之后,每年都有成套成套的新能力出现。我总是想办法跟进,保持产品的现代感。

Android:碎片化和厂商定制让很多事情天生困难

极简时钟的小组件就是典型案例。

设计上我非常希望保持一致,但现实是:

  • 厂商对小组件支持不一致
  • 显示逻辑差异大
  • 系统兼容成本极高

最终,我们只能在 Android 上做一个“更基础版”的小组件。

极简日记则进一步放大了两端的差异。

这款 App 大量依赖手势操作:左右滑动、层级切换、拖拽等。iOS 与 Android 的手势体系并不兼容,强行一致会让用户觉得别扭——这在测试中非常明显。

所以我逐渐意识到:交互一致不是目标,体验一致才是。

于是我们决定:

  • 功能逻辑保持一致
  • 细节交互尊重平台原生
  • 不盲目追求像素级统一

有趣的是,有些时候安卓小哥的实现比我原本设计的更“贴合本地直觉”,我也会直接采纳。

开发之外更“磨人”的部分:本地化、系统版本、和长尾成本

很多人以为跨平台最累的是写代码。但实际上,真正难的是那些不写在代码里的东西。

17 种语言的本地化

在使用 AI 之前,每次文案更新都像在拆一个定时炸弹。

极简时钟的文案量大,本地化工作耗费的时间远超我当初的预期。AI 出现后,这部分轻松了不少,但早年的压力至今记得很清楚。

最低系统版本的现实差异

  • 极简时钟 iOS:一直坚持 iOS 14
  • Android:几乎从 6.0(甚至 5.0)开始支持
  • 极简日记 iOS 每年提升要求,Android 基本保持不动

这种差异直接反映用户群体设备跨度之大,也给兼容带来了巨量成本。

数据不会说谎:Android 用户的价值远比我想象的大

真正让我改变对 Android 的态度的,不是技术,而是数据。

很多 iOS 开发者都有类似刻板印象:“Android 用户不付费。”。但当我把数据拉开看时,事实完全不是这样。

1. 极简时钟:日活反转

一开始 iOS 的日活是 Android 的 2 倍。但随着 iOS 端自然下滑,Android 用户凭借巨大的设备基数逐渐反超。现在 Android 的日活反倒是 iOS 的 2 倍。这让我第一次意识到 Android 的“长尾力量”。

2. 收入的惊喜

极简时钟的高峰期,Android(Google Play + Admob + 国内)的收入竟然可以接近 iOS。这是我完全没想到的。

3. 极简日记:国内安卓用户的热情完全超出预期

特别是被小红书大 V 推荐后,差异立刻显现:

  • 安卓付费是 iOS 的 2–3 倍
  • 下载量是 iOS 的 4–5 倍

也就是说:只要产品对味,国内安卓市场的付费能力不但不弱,甚至非常强。

三个生态三种定价策略:根据用户行为做选择

极简时钟在演进过程中,我逐渐意识到:不同生态需要不同策略,不能指望“一套方案吃天下”。

  • iOS:免费 → 再到赞赏 → 再到买断 → 最终到订阅

    随着主题、动效不断增加,订阅逐渐成为最合理的方式。

  • Google Play:买断 + 订阅 + 广告

    海外 Android 用户普遍付费意愿较弱。加入广告不是“妥协”,而是“现实”。

  • 国内安卓:只做买断,而且价格不能太高

    参考同类竞品后,我会很快意识到:

    • 价格太高卖不动

    • 涨价空间非常有限

    • 市场竞争比想象得激烈得多

后台体验:五年下来,Google Play Console 让我彻底改观

2020 年我第一次打开 Google Play Console 的时候,说实话,并没有留下什么好印象。界面布局不够直观,功能入口有点散,整体看上去像落后 App Store Connect 一代。那时的我甚至以为:“果然,Android 连后台都这么乱。”

但五年过去,我必须承认我误会它了。甚至可以说,我成了 Google Play Console 的“路转粉”。原因其实很简单,并不是什么轰动性的升级,而是两个在长期使用中非常关键的体验:

速度与稳定:Console 像现代应用,Connect 像上世纪遗留系统

在国内访问 App Store Connect 的体验,我相信很多人都懂:加载慢、页面跳转慢、切个数据图也慢。我以前经常半开玩笑说一句“慢得离谱”,但实际上我并没有夸张。

而 Google Play Console 则是另一种极端。页面响应非常快,点开就是数据,完全符合一个现代 Web App 应有的速度。当我把常用的数据看板加进书签后,基本上可以做到“点一下就看到全部核心指标”。

另外一个非常关键的体验是登录状态。

App Store Connect 经常就会把你踢出去,让你重新输入密码、验证码、二次认证。你会忍不住怀疑:是我来上班,还是在被平台“监考”?

而 Console 则完全相反。五年来,我几乎没有重新登录过几次。它像一位信任你的老朋友,默默在后台等着你打开页面,而不会动不动把你“赶出去”。

对于每天都需要看数据的开发者而言,这种“无打扰的效率”,其实比任何功能升级都更重要。

政策沟通:Google 在“对话”,Apple 在“宣读”

Google Play 每个季度都会举办在线政策研讨会,形式不复杂,点开链接即可观看。但直播的体验却常常让我感慨:这是一个正在努力和开发者沟通的生态。

主讲人用的是正常、自然、接地气的语气。他们会举例、会解释政策背后的原因,也会实时回答问题,甚至还会送一些小礼物——我就真的收到过。

与之相比,Apple 的线上讲座体验显得非常“规整”。需要提前下载一个古老的软件才能观看,PPT 播放过程中常常有卡顿,而主讲人的讲解往往像是“把幻灯片念一遍”。他们当然非常专业,但语气有一种强烈的“标准化感”,让人感到距离感,比真实的对话更像“政策宣读”。

我并不是要说谁绝对好、谁绝对不好。但从独立开发者的角度,两种风格带来的体验确实不同:

  • Google Play 让你觉得“平台在和你站在一起”
  • App Store 则让你意识到“你必须严格遵守它的规则”

两者的生态文化差异,甚至远比技术差异更加明显。

支付体系:RevenueCat 的轻松与国内支付的艰难

在海外市场,RevenueCat 几乎是独立开发者的救星。它提供了:

  • 双平台统一的支付逻辑
  • 订单验证
  • 订阅、留存等分析
  • 在线 Paywall 生成
  • A/B 测试
  • 整合多平台收入

它的一站式服务确实帮我解决了绝大部分需求。

而国内安卓支付,则是完全不同的“修罗场”。在国内,我最终选择了微信支付。但这伴随着漫长又繁琐的一系列工作:

  • 必须自建服务端(Express.js + Parse)
  • 必须处理支付回调、账号关系
  • 必须应对大量投诉(尤其是账号 A 登录、B 支付的情况)
  • 必须随时担心支付记录丢失

这里面的坑,只有真正踩过的人才懂。

国内安卓市场:上架门槛与生态差异

要在国内安卓市场上架 App,你必须:

  • 拥有公司资质
  • 开对公账户
  • 办软著
  • 做备案
  • 适配各大市场的规则、文档、审核流程

这些步骤繁琐到远远超过 App Store 与 Google Play。我曾经有段时间说过:“安卓不值得”。但如果你想在国内市场获得真正的用户量与收入,这些步骤都是必修课。努力走通之后,反而会发现后面道路宽阔很多。

协作习惯与工作方式:双平台能稳定运行的幕后逻辑

我们现在的协作节奏非常稳定:

  • 需求记录简单化
  • 沟通全靠微信
  • 不设硬性的 deadline
  • 测试在他提交后进行
  • Android 端允许适度发挥,不追求像素级一致

在这个模式下,我们不需要复杂的管理工具,“信任”成了最高效的生产力。

双平台不是“复制”,而是体谅、理解与适应

这几年的经验让我明白了一件事:iOS 和 Android 不只是两个平台,而是两个完全不同的世界。

  • iOS 强在一致性与设计语言
  • Android 强在用户基数与长尾效果
  • iOS 用户更愿意为体验付费
  • Android 用户在国内市场反而展现更强购买力
  • iOS 依赖系统特性
  • Android 则需要大量兼容与适配

做双平台的过程并不轻松,但随着越来越多数据和反馈积累,我逐渐意识到:当你真正理解两个生态的差异,而不是带着偏见去看它们,产品会自然变得更全面。

关于作者:

道哥 每周都会在自己的公众号 独立开发日记 以及 个人网站 分享他的开发进展与生活片段。通过这些长期而稳定的记录,你既能看到一位独立开发者最真实的日常,也能看到他如何在用户之间建立联系、维持一个健康的核心用户社区。这些内容不仅为现有用户提供了粘性,也为新产品带来了一个高质量、成本极低的宣传渠道。

每周精选 Swift 与 SwiftUI 精华!