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

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

时间:2026-08-25  |  作者:云端旅人  |  阅读:0

欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。你也可以直接访问我的博客 肘子的 Swift 记事本

肘子的话

Xcode 并不孤单

在 JetBrains 宣布停止更新 AppCode 后,不少开发者都担心从此 Xcode 缺少了竞争对手从而失去了成长的动力,并且也丧失了用来开发 Swift 项目的其他选择。然而,随着 Swift Server Work Group 为 VSCode 提供的 插件 功能不断完善,以及 Cursor 这样的 AI 编辑器的出现,Swift 开发工具的生态正在悄然发生变化。现在,在 VSCode 或 Cursor 上开发 Swift 项目不仅变得越来越容易,体验也越来越好。

在最近一周内,我尝试了一种新的工作模式:我在 Xcode、VSCode 和 Cursor 这三个编辑器中同时打开同一个项目,并频繁切换使用。这样做不仅让我能够充分利用每个编辑器的独特优势,还通过视觉上的变化(例如不同的布局和主题颜色)帮助提升我的工作心情,有效突破开发中的难点。

与 AppCode 不同,严格来说 VSCode(Cursor)和 Xcode 之间并非正面的竞争关系,一方面 VSCode 填补了在苹果生态外开发 Swift 代码的短板外,两者也为苹果生态的开发者带来了更多的便利。比如,在我的使用中,它们提供的 AI 预测、灵活且强大的插件生态、对项目中特殊文件的编辑(例如隐藏文件)、Git 管理等都是对 Xcode 短板的强力补充。

尽管如此,Xcode 在苹果开发生态中的地位仍然无可撼动。许多资源文件只能在 Xcode 中进行可视化编辑,而且只有 Xcode 能在编译时自动对其进行必要的转换和打包。另外,就个人而言,可能是由于长期使用的习惯,我发现 Xcode 在编辑代码时的 UI 呈现最能让我感到舒适和高效。

一个成熟的编程语言和开发生态系统需要能够为开发者提供多样化的选择。这不仅方便了开发者根据个人偏好和项目需求选择最适合的工具,也能促使这些工具之间形成良性竞争,互相促进。长远来看,这种多元化趋势将为 Swift 开发者带来更多可能性:我们可能会看到更多创新的开发工具出现,现有工具的功能会不断完善,Xcode 本身也会受到影响而加速发展。

前一期内容|全部周报列表

原创

NSManagedObjectID 与 PersistentIdentifier:掌握 Core Data 与 SwiftData 中的数据标识符

Fatbobman( 东坡肘子 )

Core Data 和 SwiftData 是苹果为开发者设计的强大数据管理框架,能够高效处理复杂的对象关系,因而也被称为对象图管理框架。在这两个框架中,NSManagedObjectID 和 PersistentIdentifier 功能相似,且都极为重要。本文将深入探讨它们的功能、使用方法及注意事项。

近期推荐

掌握 SwiftUI 的容器视图基础篇 (Mastering container views in SwiftUI. Basics)

Majid Jabrayilov

长期以来,由于缺少某些高级特性,SwiftUI 开发者一直未能构建出能与官方容器视图相匹敌的自定义容器。在 WWDC24 上,苹果大幅增强了 Group 和 ForEach 的功能,同时引入了容器值传递的新特性。通过这些创新的 API,开发者现在可以构建具有官方同等功能的强大容器视图。在本文中,Majid Jabrayilov 为我们详细解析了这些新工具的使用和优势。这篇文章是关于自定义容器的系列文章的开篇,建议开发者继续关注后续内容,以充分利用这些强大的新功能。

如何减少 iOS 上的本地 AI 模型大小

DanielJia

随着越来越多的 iOS 应用集成 AI 功能来增强用户体验,模型的体积和初始化速度变得尤为关键。Daniel Jia 在本文中探讨了几种在 iOS 上减小本地 AI 模型大小的策略,以提升应用的性能和响应速度。这些策略包括模型压缩、利用系统缓存预热模型、以及远程下载和异步加载模型的方法。这些技术不仅有助于提高应用效率,还能优化用户的交互体验。

掌握 SwiftUI 中的混合模式 (Mastering blend modes in SwiftUI)

Giovanni Monaco

混合模式通过使用数学公式来混合多层像素的颜色,进而决定每个像素对最终图像的影响。在本文中,Giovanni Monaco 深入探讨了在 SwiftUI 中实现混合模式的技术,以及如何利用这些技术创造引人注目的视觉效果。文章涵盖了暗化、亮化、增加对比度和颜色混合等常见效果,并通过实用示例为开发者提供了详尽的操作指南。

在 Core Data 中聪明的使用 NSFetchedResultsController 以改善内存占用 (How to use NSFetchedResultsController memory wise in Core Data)

Khoa

Core Data 提供了丰富的 API,使开发者能够在性能和内存使用之间达到精细的平衡。在这篇文章中,Khoa 探讨了使用 Core Data 的 NSFetchedResultsController 时,如何实施有效的内存管理策略以确保应用流畅运行。

文章中介绍的批次加载、通过关系实现懒加载、在私有上下文中操作,以及使用谓词限制获取数量等技巧,同样适用于 SwiftData。然而,由于缺少对应的 API 或当前的 Bug,其他策略尚无法在 SwiftData 中实施。

SwiftUI 中的通信模式简介 (Introduction to Communication Patterns in SwiftUI)

Mohammad Azam

在这篇文章里,Mohammad Azam深入探讨了SwiftUI里几种颇为常用的通信模式,像闭包、@Binding以及@Environment对象等。通过对这些通信方式的对比,Azam着重强调了在不同开发场景中挑选合适通信策略的重要意义。正确的选择能够避免在SwiftUI中依赖手动刷新机制,进而充分发挥其声明式设计的优势,提升应用的性能和响应速度。

iOS 18 网格渐变入门 (Getting started with Mesh Gradients on iOS 18)

Donny Wals

网格渐变,是一项能在网格中展现动态色彩范围的技术,它所创造出的视觉效果,复杂且生动,与传统的线性或径向渐变大不相同。在本文里,Donny Wals详细阐述了这一在WWDC24上推出的SwiftUI新特性。作者强调,网格渐变运用得当,能有效增强UI效果;但要是用得不好,就可能产生负面影响。

Rudrank Riyam 基于此功能开发了 iOS 应用 Meshing,帮助用户将创意转化为美丽的图片,适用于壁纸、网页等多种场景。

往期内容

THANK YOU

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

欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。

《夸克》非常好用的免费AI浏览器

下载APP查看

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多