大家好,我是 Eya486。
之前是个啥都干的程序员,从后端到前端再到移动端。最近,我的人生“超进化”了——托我好表哥的福,拿到了一笔(保底的)投资,让我这个“不怎么青了”的码农,摇身一变成了独立开发者。
终于能搞点自己的想法了,必须得先给我的天使投资人(我表哥)磕一个!
那么,自由的第一天,干点啥呢?
老实说,脑子里的想法不少,但之前光忙着工作、生活、谈恋爱、打游戏了,一个都没落地。所以这次,我决定从自己身上找点事儿干。
最近半年我都在让 AI 帮我打工,爽是真的爽,但也有些地方特别别扭——跟它沟通,最好用英语。
中文的博大精深在这里就成了歧义的温床。比如你跟它说“帮我实现一下API接口”,它很可能给你的是一个干巴巴的 interface API {} 接口声明。它理解了“接口”,但没理解你想要的那个能处理网络请求的“Endpoint”。
问题是,咱这英文水平,属于是烧了半辈子的开水,温度就没上来过几度。 每次都要磕磕巴巴地拼凑几个单词,或者打开翻译软件贴来贴去,有点子憋屈!
虽说现在有各种 AI 翻译和润色工具,但来回切换、复制粘贴,太麻烦了。
所以,一个念头冒了出来:如果我能做一款专门给程序员用的“英语输入法”,是不是就有搞头了?
它不需要多花哨,就在我打字的时候,能:
- 懂编程的“神级翻译”: 我直接打中文“移除当前会话”,它能帮我翻译并替换成地道的 “Remove Current Session”。
- 实时纠错 我的蹩脚语法。
- 甚至能根据上下文,给我推荐更地道的表达。
这不就等于,让 AI 当我的“嘴替”吗?
嗯,这想法不错。
这个博客系列,就是我学习 SwiftUI,把这个想法变成现实的全记录。
反正想再多也没用,不多说,操起键盘就是干!
第一步:侦查敌情(又名:找资料)
话是放出去了,但心里还是有点虚。毕竟我之前主战场在 Web,对桌面客户端开发两眼一抹黑。
问题不大,老规矩,先搜罗点资料。
- 首选,官方文档。 打开 Apple Developer 网站,很好,全英文,密密麻麻,感觉每个单词都认识,但连在一起就想睡觉。战略性跳过。
- 次选,B 站大学。 搜了一圈 "SwiftUI macOS",视频倒是有,但大部分是 iOS 的,少数几个 macOS 教程基本比较少,要么是几年前的“古董”,而且看视频对我来说太效率有点低。
看着都不太行啊。得,还得是我最后的王牌——AI 老师。
第二步:驯服 AI,让它成为你的专属私教
这里我强烈安利一下 Google 的 AI-Studio,最新的 Gemini 2.5 Pro 免费不限量,非常顶。(当然,你得懂的都懂,会科学上网)。
跟 AI 对话是有技巧的,不能上来就说“喂,教我写个输入法”。你得先“盘盘道”,给足上下文,把它“驯化”成你需要的人设。
我的开场白是这样的:
“你好,我准备用 SwiftUI 开发一个 macOS 的输入法应用。先自我介绍一下:
我的背景:我是个全栈 Web 开发者,精通 Java 和 JavaScript。也玩过 Flutter,所以对 Dart/Kotlin 和声明式 UI 不陌生。
我的现状:Swift 语法我大致过了一遍,有点基础,但对 SwiftUI 和 macOS 开发完全是小白。
我的目标:从零开始,最终做出那个输入法。现在,请你给我规划一个专属的学习路线图。”
Boom!AI 立刻就上道了,给出了一个非常靠谱的计划。
有了计划,就可以开始真正的“调教”了。我直接对它说:
“很好,就按你的计划来。现在,请你扮演我的 Swift 开发导师,我们从第一课开始:创建一个简单的 macOS To-Do List App。”
就这样,我的专属 1 对 1 私教课程,正式开课。
(P.S. 如果你连 Swift 基础都没有,也别怕。用同样的方法,让 AI 先教你 Swift 语法,它绝对是最有耐心的老师,比驾校教练强一百倍。)
第三步:跟着 AI,从“玩具”到“产品”
回归正题。在 AI 老师的指导下,我没有一头扎进复杂的输入法开发,而是先从一个经典的“ToDo List”项目上手。
这个过程就像打游戏的新手村任务,一步步带我解锁了 macOS 开发的技能树:
- App 骨架搭建: 创建项目,认识 Xcode。
- 界面布局(View): 用
VStack,List,TextField这些组件把界面画出来。 - 状态管理(State): 用
@State让应用“活”起来,实现任务的新增和修改。
当这个基础的 App 能跑起来后,我感觉自己行了!然后立刻敲打我的 AI 老师:
“搞定!ToDo List 的增删改查都做完了。下一课,教我怎么把数据存起来,别让它关了程序就没了。”
接下来,AI 就引导我进入了更高级的领域:
- 数据持久化 & MVVM: 用更专业的 MVVM 架构来组织代码,并把数据正儿八经地写入磁盘。
- macOS 特色功能: 逐一攻克了菜单栏命令、多窗口支持、Dock 菜单、状态栏图标(Menu Bar Extra)等macOS独有的酷炫功能。
- 应用上架准备: 最后,给 App 加上了骚气的图标,学习了如何打包、签名,以及用苹果开发者账号进行公证(这玩意儿要花钱,不过咱就先白嫖一下好表哥的)。
走完这一整套流程,虽然我还没开始写输入法的一个字符,但我对如何构建一个完整的、可以发布的 macOS 应用,已经心里有底了。
万事俱备,只欠东风。在下一篇,我们将正式开始“造轮子”——从零搭建我们输入法的核心框架。敬请期待!