肘子的 Swift 周报 #051:Xcode 仍是核心,但 Swift 开发工具已经不止一个选择

江屿
江屿
发布时间:2026-08-25| 146人浏览过
原创

前言

AppCode 停更之后,很多 Swift 开发者都问过同一个问题:Xcode 之外,是否还存在足够可靠的开发工具选择。这期周报给出的答案比想象中更明确:Xcode 仍是苹果生态的中心,但 VSCode、Cursor 等工具已经开始补齐代码编辑、AI 协作与插件扩展上的空白,也让 Swift 工作流从“单一依赖”走向“组合使用”。

在 AppCode 停止更新后,不少 Swift 开发者一度担心,Xcode 会不会从此缺少竞争,Swift 项目也越来越难拥有多样化的开发工具选择。但过去一段时间里,随着 Swift Server Work Group 持续完善 VSCode 的 Swift 插件,以及 Cursor 这类 AI 编辑器快速进入开发流程,情况已经发生变化。结合本期周报的观察与推荐内容,我们可以更清楚地判断:Xcode 依然不可替代,不过 Swift 的工具生态正在变得更丰富,开发者也开始拥有更实际的组合式工作流。

Xcode 之外,Swift 开发工具正在变多

这期周报最核心的判断,是“Xcode 并不孤单”。在 JetBrains 宣布停止更新 AppCode 后,很多人担心 Swift 开发会重新回到 Xcode 一家独大的局面,甚至失去替代方案。但从当前生态看,这个结论已经不完全成立。

一方面,Swift Server Work Group 为 VSCode 提供的 Swift 插件 还在持续完善;另一方面,Cursor 这样的 AI 编辑器也开始成为不少开发者处理 Swift 项目的新选择。结果是,在 VSCode 或 Cursor 中编写、浏览、修改 Swift 代码,已经比过去顺手得多,门槛也在明显下降。

这类工具未必是在正面取代 Xcode,但它们确实在补齐 Swift 开发生态过去的短板,尤其是在苹果平台之外的代码编辑体验、插件扩展能力和辅助开发效率上。

为什么同时打开 Xcode、VSCode 和 Cursor

作者提到,最近一周他尝试了一种新的工作方式:在 Xcode、VSCode 和 Cursor 中同时打开同一个项目,并根据任务频繁切换。

对比 Xcode、VSCode 与 Cursor 在 Swift 开发中的分工与互补关系
Swift 多编辑器协作分工图用一张结构图概括三种编辑器在 Swift 工作流里的角色分工,适合放在多编辑器协作章节后。

这种工作流的价值,不在于“换编辑器图新鲜”,而在于把不同工具的优势拆开使用:

  • Xcode 负责苹果平台开发中最核心、最稳定的部分。
  • VSCode 提供更灵活的插件生态,以及对项目特殊文件、隐藏文件的编辑支持。
  • Cursor 这类 AI 编辑器则更适合承担预测补全、辅助理解和部分重构工作。

作者还提到一个很实际的体验:不同编辑器的布局、配色与界面节奏,会带来明显的视觉切换感。这种变化不只是“观感不同”,有时确实能帮助人在遇到开发卡点时快速调整状态。

从这个角度看,多编辑器并行并不是折腾,而是一种更贴近现实的 Swift 开发方式。开发者不必再把所有任务都压到 Xcode 里完成,而是可以按任务类型分配工具。

Xcode 仍然不可替代的地方

尽管替代工具越来越多,但周报的判断并不激进:Xcode 在苹果开发生态中的地位,短时间内依然无法被撼动。

原因主要有几类。

很多苹果平台项目中的资源文件,仍然只能在 Xcode 中完成可视化编辑。更关键的是,只有 Xcode 能在编译阶段自动完成这类资源所需的转换与打包流程。换句话说,其他编辑器可以参与大量代码工作,但无法完整接管苹果平台工程的构建链路。

汇总本期周报推荐文章的主题分布与对应技术方向
本期重点阅读地图把本期推荐内容按主题归类,突出数据层、UI 容器、视觉表现和端侧 AI 四个方向。

代码编辑体验仍有长期习惯优势

作者也提到一个主观但很普遍的事实:对于长期使用 Xcode 的开发者来说,Xcode 的代码编辑 UI 依旧最顺手。这种熟悉度往往会直接影响效率,尤其是在高频修改、调试和阅读代码时更明显。

它依旧是苹果生态的“主场工具”

从工程结构、资源系统到平台调试能力,Xcode 仍然是苹果生态的中心。即便 VSCode 和 Cursor 能在很多环节提高效率,它们更多还是补充角色,而不是完整替代者。

因此,更准确的说法不是“Xcode 会不会被替代”,而是“Swift 开发者终于可以不用只依赖 Xcode”。

除了工具生态的讨论,这期周报还整理了一批近期值得关注的文章,覆盖数据标识、SwiftUI 容器、混合模式、通信模式、本地 AI 模型体积优化,以及 Core Data 内存管理等主题。

1. Core Data 与 SwiftData 的标识符问题

原创文章 NSManagedObjectID 与 PersistentIdentifier:掌握 Core Data 与 SwiftData 中的数据标识符 聚焦 NSManagedObjectID 和 PersistentIdentifier。这两个标识符在各自框架中都很关键,关系到对象定位、引用传递和数据管理的稳定性。对于同时维护 Core Data 和 SwiftData 代码的开发者,这篇内容尤其值得读。

2. SwiftUI 自定义容器能力明显增强

掌握 SwiftUI 的容器视图基础篇 提到,在 WWDC24 之后,苹果明显增强了 Group 和 ForEach,同时加入了容器值传递的新能力。过去开发者很难做出接近官方体验的自定义容器,而现在这件事终于有了更完整的 API 支撑。对于正在设计可复用 SwiftUI 组件的人来说,这类变化值得尽早跟进。

3. iOS 端侧 AI 的现实问题:模型太大、初始化太慢

如何减少 iOS 上的本地 AI 模型大小 讨论的是另一个非常现实的问题:随着越来越多应用引入 AI 能力,模型体积和启动成本正在直接影响用户体验。文中提到的策略包括模型压缩、使用系统缓存预热模型,以及远程下载和异步加载等方案。这类思路适合正在尝试把端侧 AI 落到 iOS 应用中的团队参考。

4. SwiftUI 视觉表现继续细化

掌握 SwiftUI 中的混合模式 关注的是混合模式如何通过像素颜色计算影响最终视觉效果,内容覆盖暗化、亮化、对比度增强与颜色混合等常见效果。与之相呼应的,还有 iOS 18 网格渐变入门,后者介绍了 WWDC24 带来的网格渐变能力。两篇文章都说明,SwiftUI 在视觉表达上的上限还在继续抬高,但作者也提醒,这类效果要控制使用场景,否则容易适得其反。

5. 数据层和通信模式仍然是基础能力

在 Core Data 中聪明的使用 NSFetchedResultsController 以改善内存占用 讨论了 Core Data 中更精细的内存优化手段,包括批次加载、通过关系实现懒加载、在私有上下文中操作,以及通过谓词限制获取数量等。周报还特别指出,这里面有些技巧同样适用于 SwiftData,但受限于缺少对应 API 或现有 Bug,暂时还不能全部照搬。

另一篇 SwiftUI 中的通信模式简介 则回到 SwiftUI 日常开发最常见的问题:该用闭包、@Binding,还是 @Environment 对象传递状态与行为。文章强调,正确选择通信模式,不只是代码风格问题,它直接关系到是否需要手动刷新、是否能真正发挥 SwiftUI 声明式设计的优势。

这期周报释放出的一个明确信号

把这期内容放在一起看,可以得到一个相当清楚的判断:Swift 生态正在进入一个更开放的阶段。

Xcode 依旧是苹果平台开发不可绕开的核心工具,这一点没有变;但与此同时,VSCode、Cursor 这样的编辑器正在让 Swift 的开发环境更灵活,尤其是在 AI 辅助、插件能力、跨平台代码编辑和 Git 管理这些过去 Xcode 较弱的环节上。

这对开发者是好事。工具变多,不等于必须切换阵营,而是意味着可以按场景选用更合适的组合。对生态本身来说,这也意味着 Swift 不再只能依靠单一 IDE 推动体验升级。更健康的状态,是多个工具各自演进、互相施压,最终让开发流程变得更顺手。

如果你是苹果平台开发者,这期周报最值得带走的结论也许不是“该不该离开 Xcode”,而是:现在已经可以认真考虑,把 Xcode 之外的工具纳入自己的日常工作流了。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。