返回资讯中心
外部精选
软件工程
#开发者实时流

开发者借AI用Swift和Kotlin开发应用,称跨平台框架已死

来源标题:Cross-platform frameworks are dead. AI killed them

一名不熟悉Swift和Kotlin的开发者借助Claude为Werkbook生成原生iOS和Android应用,认为AI让跨平台框架失去意义。他此前用Hotwire Native构建跨平台版本,虽成功上线但存在内存崩溃、无信号失效、深链打不开等问题。今年8月底他改为给Rails后端加API,由Claude参照Web应用编写原生Swift代码。

Hacker News 最新jtreitz2026/11/6 · 今天10 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

我用 Swift 写了一个 iOS app,但我读不懂 Swift。它的 Android 版本用的是 Kotlin,我也读不懂。我是怎么走到这一步的?

两年前,在 LLM 接管编程之前,我开始做 Werkbook,这是一款给蓝领工人现场记录工作用的 app。没人会抱着笔记本电脑爬上屋顶,所以它必须能在手机和平板上运行,而我对 Swift 和 Kotlin 一窍不通。我试了各种跨平台框架,最后选了 Hotwire Native,它和 Ruby on Rails 应用天然契合。

最初的进展很顺利。然后接缝开始显露。在某些手机上,用户拍照太多、内存耗尽时 app 就会崩溃。在地下室里没有信号,app 就直接废了。所谓打磨,就是绕着它的限制打转。尽管代码是共享的,我仍然要面对各平台特有的问题,比如 app 无法从邮件里的链接打开,所以我还是得在每台设备上测试。它能用,但永远不会出色,做起来也没什么乐趣。

八月底我尝试了另一种做法。我给 Rails 应用加了一套 API,然后让 Claude 以这个 Web 应用为蓝本构建一个原生 iOS app。出乎我意料的是,它不只写了 Swift。它穿过了证书、描述文件、entitlement 和权限构成的迷宫,app 就装到了我的 iPhone 上,而我一次都没打开过 Xcode。四周后,这个原生 app 取代了原来的壳:反应灵敏、稳定、精致,而且第一次让人觉得做起来有乐趣。

Android app 跟进得更快,以 iOS app 为蓝本。我大部分时间都花在决定哪些地方保留 app 自己的风格、哪些地方遵循 Android 的惯例。

我读不懂生成的代码。我能看懂结构,但我说不清某个 Swift closure 是不是持有了它不该持有的东西。在 20 年里我读过自己交付的每一行代码,所以一开始我和其他人一样持怀疑态度。

但我自己写的代码也有 bug,而且很可能更多。我不用来读代码的时间,都花在了在真机上测试每一处改动和调整 UX 上。而且 agent 写的测试远比我多。慢慢地,它赢得了我的信任。

我还不确定的是长期会怎样:agent 能不能让代码保持整洁,以及一处修复多久会在别处弄坏什么东西。当 Swift 里出现崩溃时,我也读不懂堆栈跟踪。所以我把它交给 agent,然后在设备上确认修复,而不是在 diff 里确认。

这些 app 不决定任何要紧的事。API 才是安全边界。谁能看到哪些数据、用户能做什么、什么算有效输入:这些全都在我写的 Rails 应用里。移动 app 按设计就是不可信的客户端。

Swift 代码里的 bug 可能把某个界面画错。它没法显示别人的数据,因为服务器根本不会发送。

PhoneGap/Cordova、Ionic、React Native:跨平台框架从 2008 年就存在了,那时 Android 加入 iPhone 阵营,开发者不得不把每个 app 写两遍。它们都承诺一件事:代码写一次,到处运行。代价也始终一样:在你和平台之间加一层抽象。当写两遍原生 app 的成本是两倍时,这笔交易是划算的。现在 agent 写掉了大部分代码,这些框架省下的代码行数已经不足以抵消它们的限制。over-the-air 更新也一样:我的很多修复,比如配置变更,本来就需要走应用商店发布,而应用审核最近也快了很多。

Shopify 是自 2020 年以来 React Native 最知名的拥护者,它也得出了同样的结论:9 月它宣布「原生现在是 Shopify 移动端的未来」,理由是 AI agent,并在十二周内用 Swift 和 Kotlin 重写了 Shop app。Coinbase 似乎是下一个:一则招聘启事描述了将其移动 app 从 React Native 重写为原生,方式是「使用 AI 辅助的代码生成」。

出于好奇,我让 agent 做一个原生 Mac app。半天后我就有了一个粗糙但能用的 app。我还没发布它。但如果一个原生客户端这么便宜,Web 应用和许多基于 Electron 构建的桌面应用就开始显得像下一个要消失的抽象层。讽刺的是,Claude 自己的 Mac app 就是其中之一。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →