如果说过去十年,移动应用开发是一场负重登山,那么在 2025 年的今天,工具链的进化终于让我们体验到了“反重力”的快感。
作为一个在互联网行业摸爬滚打多年的老兵,我的硬盘里躺着无数个“烂尾楼”工程。那些死在文件夹里的 App 创意,大多不是因为逻辑跑不通,而是因为倒在了繁琐的环境配置、令人绝望的原生依赖报错、以及那道横亘在普通开发者面前的“上架”高墙之下。
上周末,我心血来潮,决定挑战一个念头:不写一行原生代码,甚至尽量不手写逻辑代码,用两天时间,从 0 到 1 上架一个完成度极高的 App。我的武器库只有三样东西:
Antigravity或Cursor:目前体验最好的 AI 原生编辑器。
Claude Opus 4.5:逻辑推理能力最强的 AI 大脑。
Expo & EAS:移动开发的云端基建。
这篇文章不是教程,它是这次“反重力”开发之旅的完整复盘。如果你也曾被开发门槛劝退,希望这段经历能点燃你心里那团火。
第一章:告别“环境配置地狱”
周六上午 10 点,我坐在电脑前。按照惯例,以前这时候我已经开始在搜索引擎里通过关键字检索:“React Native 环境搭建”、“CocoaPods 安装失败”、“Android Studio 模拟器启动黑屏”。通常这一搞就是一上午,热情在下载 SDK 的进度条中消耗殆尽。
但这次,我只做了两件事:安装 Node.js,以及在 Cursor 的终端里敲下一行命令:
npx create-expo-app@latest my-mind-space
Expo的哲学是“Managed Workflow”(托管工作流)。它的核心逻辑极其激进:开发者不应该去触碰 iOS 和 Android 的原生工程文件夹。
仅仅 30 秒,项目初始化完成。
这里没有 ios 文件夹,也没有 android 文件夹。整个目录清爽得像一个简单的网页项目。我不需要去配置 Xcode 的签名证书,不需要去改 Android 的 Gradle 版本。
这一刻,我感到一种久违的轻松。这种“开箱即用”的轻盈感,是 Expo 给我的第一个震撼。它把那些与业务逻辑无关的“噪音”,全部屏蔽在了黑盒之外。
第二章:与 Claude Opus 4.5 的“结对编程”
项目启动了,接下来是写代码。
这次先拿“抖音风格” 练练手,Claude Opus 4.5会替你完成绝大部分的工作。
我在 IDE 的对话框里输入了第一段 Prompt(提示词),我没有用那种冷冰冰的技术语言,而是像跟产品经理说话一样:
“我要做一个情绪记录 App,设计风格参考现代极简主义。首页是一个深灰色的沉浸式背景,中间有一个呼吸效果的圆形按钮,按住它弹出心情选择面板(开心、焦虑、平静、愤怒)。请用 React Native 和 Expo 实现,使用 TypeScript,样式用 StyleSheet。”
几秒钟的思考后,Claude 开始在屏幕上疯狂输出。
这里必须吹爆 Opus 4.5 的能力。相比于 GPT-4 或其他模型,Opus 4.5 对上下文的连贯性理解简直可怕。它没有给我扔一段支离破碎的代码片段,而是直接生成了一个结构完整的HomeScreen.tsx甚至帮我引入了react-native-reanimated 来实现我随口一提的“呼吸效果”。
我按下 Cmd + I(Cursor 的 Apply 功能),代码直接流进了编辑器。
保存。
接下来是验证时刻。我没有打开笨重的模拟器,而是拿起了手边的 iPhone,打开了 Expo Go 这个 App,扫了一下电脑屏幕上的二维码。
两秒钟。
真的只有两秒钟,我的手机屏幕一亮,那个深灰色背景、带着呼吸动效的按钮就出现在了我手里。我用手指按下去,甚至感受到了微弱的震动反馈(Claude 贴心地帮我加了 Haptics)。
那一瞬间,由于物理反馈带来的真实感,让我甚至怀疑这真的是我刚花几分钟弄出来的东西吗?
第三章:攻克难关——当 AI 遇到“原生鸿沟”
开发过程并非一帆风顺。周六下午,我遇到了一个棘手的问题。
我需要实现一个功能:把生成的心情卡片保存到手机相册。
在 React Native 的世界里,凡是涉及到“保存图片”、“访问相册”、“调用相机”这些功能,通常意味着噩梦的开始。因为这涉及到原生权限的配置。在老式的 RN 开发中,我需要去 Xcode 里修改 Info.plist,去 Android Manifest 里加权限声明,一旦配错,App 直接闪退。
我把报错信息甩给了 Claude:“点击保存按钮报错,提示缺少权限。”
Claude 迅速给出了解决方案,并让我见识到了 Expo 生态最性感的一面:Config Plugins(配置插件)。
它没有让我去改原生文件(毕竟我也没原生文件可改),而是告诉我:
“你需要安装 expo-media-library。然后在 app.json 里添加插件配置。”
它自动帮我修改了 app.json:
JSON
"plugins": [ ["expo-media-library", {"photosPermission": "Allow MindSpace to save mood cards to your photos." } ]]
就这一段 JSON 配置。
不需要重新编译原生工程,不需要去动那些晦涩的 XML 文件。Expo 在云端构建时,会自动读取这段配置,然后动态地把它注入到原生代码里。
这就是 Expo 的“代码化配置”。它让原生环境变得可复现、可版本控制。哪怕我换了一台全新的电脑,只要拉下代码,跑一遍构建,所有的权限配置都是一模一样的。
在 Claude 的辅助下,我用一种近乎“填空题”的方式,解决了文件存储、网络请求、本地数据持久化(AsyncStorage)等一系列问题。我发现自己不再是一个“写代码的人”,而是一个“做决策的人”。我负责告诉 AI 我要什么,它负责实现,Expo 负责兜底。
第四章:EAS Build——云端的黑魔法
周日下午 4 点,App 的功能基本开发完毕。此时我的电脑风扇甚至没有转过,因为所有的重活都在 Claude 的云端大脑和 Expo 的轻量级服务中完成了。
接下来,就是那道拦住无数人的鬼门关:打包上架。
如果你做过 iOS 开发,你一定知道那套流程有多繁琐:
登录 Apple Developer 后台。
申请 Certificates(证书)。
注册 Identifiers。
创建 Provisioning Profiles(描述文件)。
在 Xcode 里配置签名。
解决签名不匹配的报错...
对于没有 Mac 电脑的 Windows 用户,这一步直接就是死胡同。
但现在,我有EAS (Expo Application Services)。
我在终端敲下了这行充满魔力的命令:
eas build --platform ios
终端里跳出一行字:“Detected that you don't have a provisioning profile. Would you like to set one up? (Y/n)”
我颤抖着按下了 Y。
接下来的两分钟,我目瞪口呆地看着终端里的日志在跳动:
EAS 自动登录了我的 Apple ID。
EAS 自动在苹果后台帮我创建了证书。
EAS 自动下载了 Profile 文件。
EAS 自动上传了代码。
然后,它告诉我:“Build queued. You can close this window.”
所有的编译工作,都在 Expo 的云端集群上进行。不论你用的是几千块的 Windows 笔记本,还是顶配的 MacBook Pro,此刻的打包速度是一样的。
我关掉终端,去冲了一杯咖啡,顺便逗了会儿猫。
二十分钟后,手机震动了一下。是一封来自 Expo 的邮件:“Build successful”。邮件里附带了一个链接,点击后,这个我亲手做的 App 就通过 TestFlight 安装到了我的手机上。
是一个真正的、签了名的、可以离线运行的 iOS App。
没有打开 Xcode,没有处理 p12 证书,没有因为环境问题发过一次火。这种体验,不仅是“反重力”,简直是“科幻”。
第五章:最后一公里——EAS Submit
拿到安装包只是第一步,发布到商店通常还需要经过 Transporter(iOS)或者 Google Play Console 网页端的折磨。
EAS 再次刷新了我的认知。
eas submit -p ios
就这一行命令。它会列出我刚刚在云端打好的那个包,问我:“要提交这个吗?”
回车。
EAS 就像一个尽职尽责的快递员,接过包裹,自动帮你跑通了上传到 App Store Connect 的最后一段路。
对于 Android,过程同样丝滑。配置好 Google Cloud 的服务账号 JSON 后,eas submit -p android 直接把 AAB 包推送到 Google Play 的内测轨道。
在这个过程中,我不需要去研究 Google Play 复杂的上传界面,也不用担心因为少传了一个截图而被卡住。EAS 抹平了平台之间的差异,把“发布”变成了一个标准化的命令行操作。
第六章:反思与展望——普通人的机会在哪里?
周日晚上 8 点,看着 TestFlight 里那个图标,我陷入了沉思。
这次开发经历,花费的总成本如下:
这在几年前是完全不可想象的。
Antigravity或Cursor+Claude Opus 4.5+Expo,这三者构成了当今独立开发的“新铁三角”。
Antigravity 解决了“写代码”的门槛。你不再需要背诵语法,自然语言就是最好的编程语言。
Claude Opus 4.5 提供了“架构师级”的逻辑支撑。它保证了生成的代码不是废铜烂铁,而是可运行、可维护的工程文件。
Expo & EAS 解决了“环境与交付”的门槛。它把最难啃的骨头——原生环境配置和编译打包,变成了云端的自动化服务。
这对普通人意味着什么?
意味着“想法”的价值被无限放大了,而“实现”的成本被无限压缩了。
以前,你有一个绝妙的 App 点子,但你不是程序员,你只能去找外包,被坑,或者花半年时间去学编程。最后大概率是不了了之。
但现在,只要你具备清晰的逻辑表达能力,只要你有足够的审美和对产品的执着,你就可以成为一个“超级个体”。你不需要懂 Java,不需要懂 Objective-C,甚至不需要懂复杂的 React 逻辑。你只需要坐在驾驶舱里,指挥 AI,利用 Expo 的基建,把你的想象力变成现实。
技术的进步,不应该让技术变得更复杂,而应该让技术变得不可见。
在这个周末,我看到了未来开发者的样子:他们可能不是代码高手,但他们一定是生活家、艺术家、或是某个领域的专家。他们用 AI 编织逻辑,用 Expo 铺设轨道,让一个个充满灵性的 App 像花朵一样盛开。
如果你也在犹豫,别想了。打开你的IDE,敲下那行 npx create-expo-app。
这一夜,重力消失,群星闪耀