微软收紧插件、谷歌发力云端,Xcode 何去何从? | 肘子的 Swift 周报 #079

weekly.fatbobman.com 订阅本周报的电子邮件版本。访问我的博客 肘子的 Swift 记事本 查看更多的文章。加入 Discord 社区,与 2000+ 中文开发者深入交流 Swift、SwiftUI 开发体验。

微软收紧插件、谷歌发力云端,Xcode 何去何从?

不久前,微软对 Github Copilot 进行了相当程度的功能增强,除了添加了对 MCP 的支持外,在 AI 交互模式上也提供了与 Cursor 对齐的 Agent 模式,至此,Github Copilot 大大缩小了与其他 AI 代码工具领先者之间的差距。考虑到其更低的定价策略( $10/月 ),明显微软已做好了全力进入商业 AI 辅助市场/服务的准备。

对于开发者来说,良性的竞争意味着会带来更好的产品和更有性价比的服务。但由于目前不少 AI 编程工具与 VSCode 都使用了相同或接近的底层实现,并且选用了类似的大模型组合,这意味着过段时间,这些工具之间的差异会越来越小,提供更有性价比、更具独特价值的功能就变成了这些工具获取用户的主要手段。

或许是为了保证 VSCode 的独特性,在 VSCode 生态中一些非常重要的,由微软开发的插件(Remote SSH、Pylance、Python Debugger、C/C++ 等)在最新的更新版中已经无法在 VSCode 之外的编辑器中使用了。这些插件虽然闭源但一直允许第三方编辑器使用,现在却突然弹出"只能在微软产品中使用"的提示。尽管这并没有违法微软在开发这些插件时的授权,但这种突然的屏蔽行为还是引起了很多其他编辑器使用者的不便。考虑到在整个 VSCode 生态中,微软提供了大量的优秀插件,如果未来其中相当一部分只能运行在 VSCode 中,那么会明显提高 VSCode 在这些编辑器工具中的竞争力,并影响不少开发者的选择。

面对这一挑战,Cursor 团队已迅速推出应急修复,并计划开发长期解决方案,逐步转向支持社区开源替代品。这一事件实际上反映了微软已将 Cursor 视为真正的竞争对手------一个凭借 AI 能力,在某些场景下体验超越 VSCode 的挑战者。

与此同时,谷歌在上周推出的 Firebase Studio 又将 AI 编辑器推向了新的领域。这款融合了 Project IDX、Genkit 和 Gemini 的平台不仅支持通过自然语言快速生成原型,还能通过 AI 聊天方式迭代应用,并提供一键部署到 Firebase App Hosting 的能力。通过与谷歌云端服务的深入捆绑,不仅加速了开发、调试的过程,也大幅降低了部署的难度。可以预见,同样具备云端服务优势的微软也很快会在 VSCode 上提供类似的体验。就像当前的浏览器、搜索引擎一样,AI 开发工具将逐步从开发者的桌面工具过渡成各个大公司绑定开发者的入口。

单纯从商业角度来说这并没有什么问题,但这意味着仍在开发 AI 编辑器的小公司、小团队的机会窗口将更加的小了。他们不得不在两条路中选择:要么在 AI 编程体验上做出真正的差异化,要么依靠社区力量维持生态,成为一个真正独立的开发工具。一个逐渐缺少了活力的市场将扼杀创意,尽管从历史上来看几乎每个领域都会走向类似的结局,只是没想到在 AI 时代,大公司的行动会如此的迅速,如此的果决。

在这场开发工具的变革浪潮中,苹果的 Xcode 似乎还未展现出清晰的 AI 集成战略。作为苹果生态的核心开发工具,Xcode 长期以来依靠其与平台的无缝集成成为苹果开发者的不二之选。然而,当 AI 正以前所未有的速度重塑开发体验时,静观其变已不再是明智之举。如果不能在未来的一两年中有重要突破,不仅开发者体验会滞后,创新生态也可能流失。苹果会在 WWDC 2025 上交出怎样的答案?这将决定其平台在下一代开发范式中的地位。

前一期内容全部周报列表

本期助力

需要在 iPhone 上调试 HTTPS?

试试 Proxyman!这是一款顶级的 macOS 应用,只需点击几下,即可轻松捕获和调试 HTTP(s) 流量。支持 iOS设备和模拟器。

🚀 立即试用 →

原创

用 Swift 构建 WASM 应用

随着 Swift 6.1 版本的正式发布,SwiftWasm 也迎来了重大升级。这一里程碑式的更新标志着 SwiftWasm 首次实现了完全基于官方 Swift 开源工具链的构建------告别了自定义补丁的时代,不仅显著简化了开发者的安装流程,大幅节省了系统存储空间,更为重要的是,这种纯正构建方式极大降低了平台的维护成本,为 Swift 生态系统注入了新的活力。在本文中,我们将探索如何利用 Swift 构建 WebAssembly 应用,带你领略 Swift 跨平台开发的无限可能。

近期推荐

结构化并发的行为准则 (Rules of Structured Concurrency)

Swift 并发中的任务可分为结构化(Structured)与非结构化(Unstructured)两类,核心差异在于是否具备父子任务关系,以及是否能自动管理生命周期、错误传播与取消逻辑。在这篇文章中,Vitaly Batrakov 基于"任务树"模型,总结出结构化并发的三大核心规则(Error、Group Completion、Group Cancellation,简称 EGG 🥚),为 Swift 并发机制提供了清晰、系统的理解路径,推荐给并发初学者与进阶开发者阅读。

swift-markdown 的自定义能力边界 (The Limits of swift-markdown Customization)

swift-markdown 是苹果最初开发的 Markdown 解析与构建库,提供了优雅的访问结构和基于 Visitor 模式的遍历机制。Christian Tietze 在文章中分享了他在构建 Markdown 处理管线过程中遇到的诸多限制:虽然读取和遍历功能完善,但在插入节点、修改结构、扩展元素等方面受限严重。无法新增节点类型、缺乏插入/组合能力、formatter 不可扩展,让这个库成为"看起来灵活、实际封闭"的典型代表。吐槽之余,Christian 也对 AST 工具的设计边界提出了不少值得参考的思考。

如何发布你的 macOS Swift 命令行工具 (Distribute Your Swift CLIs for macOS)

目前,许多 Swift CLI 工具仍依赖 Mint 或 Mise 实现"安装即编译",虽然简化了维护流程,但对用户而言存在编译慢、易失败等问题。Pedro Piñera 认为,更理想的方式是发布预编译二进制文件,并结合 GitHub Releases + UBI 实现一键安装。再配合 Mise,可提供更完善的版本管理体验。在本文中,Pedro 提供了一套可复用的构建与发布脚本流程,覆盖 fat binary 构建、压缩、签名上传至 GitHub,并适配 CI 与本地环境。

你的项目适合用 SwiftData 吗?(Should You SwiftData?)

SwiftData 自发布以来一直颇具争议,很多开发者仍在观望是否应该投入使用。在本文中,Leo G Dion 结合自己开发 Bushel 的经验,分享了他的思考。他认为,对于倾向于使用 Apple 官方框架、喜欢 ORM 编程范式、重视长期维护成本与新技术支持(如 SwiftUI、Swift 6、宏等)的开发者来说,SwiftData 是值得考虑的方案。此外,文中还列出了一些替代方案,如 GRDB、CoreStore、Boutique 等,供不同需求的开发者参考。

我为什么不再子类化 UITableViewCell / UICollectionViewCell (Why I Never Subclass UITableViewCell or UICollectionViewCell)

在开发购物类 App 的过程中,Srđan Stanić 起初沿用了常规模式:为 UITableViewUICollectionView 分别子类化 UITableViewCell / UICollectionViewCell,用以构建商品列表 UI。但随着产品设计不断演进,他逐渐遇到以下问题:相同 UI 需在多个上下文中复用;每次复用都必须重新实现布局逻辑;为适配某种 UI 承载方式,不得不引入不必要的复杂容器。于是他选择反向而行:不再子类化 Cell,而是将布局独立为一个纯 UIView,根据使用场景再嵌入到不同的 Cell 或容器中。这不仅提升了复用性和可维护性,也能轻松适配 SwiftUI,通过泛型 Cell 容器进一步简化样板代码。

WWDC25 的愿望单 (WWDC25 Wishes)

又到了每年喜闻乐见的 WWDC 愿望清单时节,Majid Jabrayilov 的关注点主要聚焦在开发工具的改进:

  • Swift Assist 与 AI 工具链:呼吁 Apple 尽快补上 AI 辅助开发的短板,并建议推出 Xcode 专属的 MCP server,构建 Copilot 式开发体验;
  • Project.swift 项目配置文件 :希望能像 Package.swift 一样,用纯 Swift 描述项目配置,提升版本控制友好性,同时让 VS Code 等非 Xcode 工具更具可操作性;
  • SwiftUI 的 Recycling View 支持 :期待 SwiftUI 引入像 UITableView/UICollectionView 一样的视图重用机制,解决复杂列表场景中的性能瓶颈。

Majid 提出的每一项都非常戳我,尤其是项目配置的现代化 ------ 在当前多 IDE 并用的开发环境中,已经显得越来越迫切。

TextRenderer 演示合集 ------ Prismic

从 iOS 18 开始,开发者可以通过自定义 TextRenderer 协议的实现,在 SwiftUI 的 Text 渲染前对文本进行变换,从而打造更具视觉冲击力的动态文字效果。Paul Hudson 创建了 Prismic,这是一个收录了多种 TextRenderer 示例效果的开源项目,既包含纯 Swift 实现的样式,也包含基于 Metal Shader 的高级扭曲与颜色特效。Paul 鼓励开发者基于该项目进行扩展,贡献更多创意实现。

想了解如何构建这些效果?推荐阅读:用 TextRenderer 构建绚丽动感的文字效果

活动

AdventureX 2025 解除报名的年龄限制

在 2024 年,AdventureX 曾规定参赛者年龄需在 26 岁以下。而在 2025 年,我们决定面向所有人开放报名 。虽然 26 岁以下的青年创作者与学生依然将构成参赛者的主要群体,但我们也将开放至多 100 个不限年龄名额,欢迎那些虽不在年龄范围内、却依然怀抱年轻心态与创作热情的朋友加入。

我们希望借此机会,促成跨代创作者的深度交流,在同一个现场分享经验、碰撞灵感。

往期内容

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞 并将其 转发 给更多的朋友。

weekly.fatbobman.com 订阅本周报的电子邮件版本。访问我的博客 肘子的 Swift 记事本 查看更多的文章。加入 Discord 社区,与 2000+ 中文开发者深入交流 Swift、SwiftUI 开发体验。

相关推荐
shengjk114 分钟前
MCP协议三种传输机制全解析
人工智能
算法小菜鸟成长心得28 分钟前
时序预测模型测试总结
人工智能
奔跑吧邓邓子30 分钟前
DeepSeek 赋能智能零售,解锁动态定价新范式
人工智能·动态定价·智能零售·deepseek
鼓掌MVP44 分钟前
边缘计算应用实践心得
人工智能·边缘计算
QYR_111 小时前
宠物车载安全座椅市场报告:解读行业趋势与投资前景
大数据·人工智能
大熊猫侯佩1 小时前
SwiftUI 中如何花样玩转 SF Symbols 符号动画和过渡特效
swiftui·swift·apple
wswlqsss1 小时前
第四十五天打卡
人工智能·深度学习
Likeadust1 小时前
视频汇聚平台EasyCVR“明厨亮灶”方案筑牢旅游景区餐饮安全品质防线
网络·人工智能·音视频
天翼云开发者社区1 小时前
总决赛定档!“天翼云息壤杯”高校AI大赛巅峰之战即将打响!
人工智能·ai大赛
亚马逊云开发者1 小时前
Amazon Bedrock 助力 SolveX.AI 构建智能解题 Agent,打造头部教育科技应用
人工智能