从半年到十天:一个人借助AI能释放多少能量

十年前学iOS开发,半年上架。十年后零基础做鸿蒙,十天上架。差的不是我的学习能力,是工具。

AI 不知道我在哪

先说个背景。

我的 AI 助手「小白」帮我处理很多事情——查天气、记账、回复邮件、管理日程。但有一个基础信息他一直不知道:我在哪里。

这事平时没什么,我坐在书房里,在哪都一样。但一旦我出门——去超市、去散步、去爬山——他就进入了盲区。

"今天天气怎么样?"
"查了下你那边,现在是阴天,22度,适合出门。"

这句「适合出门」让我意识到一个问题:他查的天气,是我居住地的天气。因为他只知道我「大概在广州」,但不知道我当时是在黄埔、在天河、还是在外面哪个区。

更关键的是:如果他不知道我在哪,很多事情就没办法帮我做

比如我去五台山徒步,要查实时天气——他得知道我在哪。我去青见梁露营,想让他算日落时间——他得知道我在哪。我出门和人吃饭,想让它提醒我几点该走了、路上堵不堵——他也得知道我在哪。

位置信息,是所有上下文里最基础的那一层。

所以我有一个很自然的想法:把我的手机定位自动发给他,这样他就知道我在哪里

这事听起来简单。我做为一个能用手机的人类,可以手动发GPS坐标给小白。但问题在于:

  1. 我不可能每隔几分钟就掏出手机看坐标、复制、粘贴、发送。
  2. 这件事应该发生在后台——就像你的心跳不需要你去主动控制。
  3. 如果每次协作都要我来提供基础信息,那这协作本身就是不完整的。

正常操作应该是我的鸿蒙手机自动在后台把GPS坐标上报到服务器;然后小白从服务器上读到数据,就知道我在哪

但问题又来了:鸿蒙上没有现成的工具做这件事。这个其实并不奇怪。鸿蒙生态才刚刚开始,用户才6600多万,还有很多的功课需要补。

所以唯一的解法就是自己写一个于是有了「我在这里」。

这不是我第一次开发手机APP了,上一次还是2015年,从零开始学习iOS应用开发,直到最后应用上架应用商店,我花了大概半年时间。

10年过去了,2026年,同样是从零开始,开发一款鸿蒙应用,我用了10天。

第一天:一个可以跑的样例

常规开发一款手机应用,要先掌握各种基础知识,借鉴多个示例代码,从一个简单的“Hello World"开始,一行一行代码,逐步添砖加瓦。

有了AI后,要做的第一件事情变成了:

“我遇到一个问题,需要你帮忙解决……”

将问题的背景、现状、期望结果以及限制条件以自然语言的方式充分与AI进行讨论,并形成第一版开发计划。然后放手给AI去执行。整个开发过程中,我的主要角色不是代码的编写者,而是不断地在AI给出的选择中做决策。如果遇到我不懂的技术点,可以要求AI详细解释,然后再去验证。

4月23日当天晚上,第一个版本跑通了。坐标能从鸿蒙手机发到服务器上。

关了电脑去睡觉。这个APP在那之后安静地躺了 50 天,直到 6 月,我和小白才真正开始认真打磨。

第二天:一个手机应用本质上是一个工程

一个多月之后,突然有人在小红书的评论区里留言表示他们也想用这款APP。这件事情突然变得很尴尬,因为我写了就是自己用用,长得丑有BUG我都能忍。但是要是给别人用,那就不能这么随便了。怎么说呢,一个人的作品多多少少是这个人的代表。

于是我花了半天的时间翻看了鸿蒙应用开发的入门文档与教程。与小白再次讨论了应用开发过程中可能遇到的问题,制定了开发计划,然后将代码工程从小白(OpenClaw)转移到了Claude Code。我发现即便是使用DeepSeek v4 Pro这种更加昂贵的模型,Claude Code高达98%的缓存命中率可以极大的降低使用成本。而且其专业的Coding工具属性也更适合这项任务。

在看完入门教程后,我重新与Claude Code讨论了应用改版的事项,制定了开发计划,撰写了CLAUDE.md (编程AI的核心参考文件),并且完成了第一步API迁移@ComponentV2。这些动作都是在为后续的开发打基础。

第三天:UI冲刺,一天改了26版

一开始我让AI出一版UI设计方案,但是做出来以后惨不忍睹。暗色主题「卫星仪表盘」第一版:深空蓝黑底色、信号绿坐标、脉冲绿色定位点动画、等宽字体。这些元素其实没有问题,问题在于当时界面上的元素太杂了,功能还多有重复耦合。AI只是把它们一股脑的包装了一遍。

不要一上来就走「炫酷主题」,功能优先。

于是我精简了布局,删电量百分比、冗余状态文字、上传卡片。只剩坐标+间隔+状态行+操作栏四大块。同时在交互方向,按钮增加「正在定位」中间状态:进度条+橙色倒计时。上线地图组件,经纬度太抽象了,将当前位置直接显示在地图上更加直观。

实际上在调整UI的过程中,我还发现AI使用了一些比较老旧的API。这也可以理解,DeepSeek v4在训练的时候这些API还没有发布。从工程角度来看,UI与功能逻辑尽可能的分开调试,控制变量,避免错误耦合造成的DEBUG困难。

第四天:架构重构

UI重构是在修理一辆车的外观与内饰,那架构重构则是打开引擎盖与底盘,彻底的改进。具体包括:

  • 凡是提供支持的调用全部迁移到API 23版本
  • 将定时轮训的定位方式变更为系统提供的持续定位回调驱动
  • 使用新的页面跳转API
  • 完善所需的权限申请逻辑,不要一打开APP就要定位权限,给用户选择时间。
  • 引入鸿蒙的“沉浸光感”标题栏,让界面看起来更加现代。

这一切操作也是在为未来预留空间,在技术上避免历史包袱。

第五天:动画与打磨

能用与好用有时候就是差那么一点。当用户点了开始记录后,整个页面就安安静静的躺在那里。但是作为一个持续运行的应用,缺那么一个信号来告知用户“我正在运行中”。与是我做了两件事:为停止按钮增加了一点轻微的水波纹动画。上报时间改成计时器模式,会有字符切换动画。

第六天:设计系统

这是一件“程序员最不爱做但又最有长期价值”的事情。

所有的UI组件都会有尺寸、形状、颜色属性。一开始这些数值都是实码在代码里的,但是需要整体调整的时候就无比痛苦。所以引入设计令牌SizeTokenPaddingTokenSpaceTokenCornerRadiusToken,统一管理所有间距、圆角、尺寸;建了base/dark两套color.json,品牌色有亮暗变体,这样可以支持亮暗系统模式。同时底部卡片面板也变更为毛玻璃效果,与标题栏保持一致。

第七天:提交审核

这一天啥都没干,专门研究如何把一款手机应用上架到鸿蒙应用商店。期间踩了很多坑,包括图标要分前景背景两层,应用要签名,而且本地调试与上架商店需要使用两套不同的配置。上架前要制定自己的隐私策略等等各种杂项——这些事项很痛苦,因为AI基本上帮不上忙。在审核时还遇到了应用重名的状况,于是不得不临时改名改图标。

审核通过后,正式上架应用商店测试区。

第八天~第十天:真实场景打磨

让APP在真实场景中跑起来,才能暴露出问题。最后三天我模拟真实的用户使用场景,包括夜间睡眠静止、户外运动等,持续观察它的行为。期间修复了异步等待异常造成的通知消失,地图监听与定位监听冲突导致的定位异常,一点一点把漏洞补上。期间UI也做了一些调整,让使用更加顺手。待功能基本稳定,没有明显错误的时候,在小红书发布笔记,邀请有意愿的用户参与内测。

写在最后

这就是「我在这里」诞生的全部过程。

它是一个功能极其简单的APP:把你的坐标定期发到服务器上。没有打卡、没有轨迹回放、没有运动分析。就是最朴素的位置上报。听起来不像一个「产品」,更像一个补丁——补上人与AI协作中缺失的那一环信息。但就是这个补丁,让我对「生产力」这个词有了全新的理解。

十年前我学iOS开发,从Swift到提交审核,花了半年才上架第一个应用。那时候每行代码都是自己敲的,每个Bug都是自己排查的,每份文档都是自己读的。十年后,我零基础做鸿蒙应用。从搭环境到跑通第一个版本,一天。从第一个能跑的版本到上架,十天。这中间差的不是我的学习能力,而是工具。

AI接手了执行层面的所有工作——写代码、查文档、修BUG、做 UI。而我把精力集中在三件事上:想清楚要什么、在 AI 给出的方案中做选择、解决AI搞不定的问题。以前写一行代码之前需要看十行文档,现在做一个决策之前需要看三个方案。工作的重心从「怎么实现」转移到了「要什么」和「好不好」。

十天做出一款上架的应用,这个速度放在一年前我会认为是幻想。而在今天,这成为了我亲历的现实。

如果你也想让AI知道你在哪,可以在评论区留言,我发你测试邀请链接。

转发至

微信扫一扫分享

WeChat QR Code