Natan Rolnik[4]
Swift Package Index[5] 的两位创建者 Dave Verwer 和 Sven A. Schmidt 近期接受了 Natan Rolnik 的访谈。Dave Verwer 同时也是苹果生态中最受欢迎的开发者周报—— iOS Dev Weekly[6] 的编者。在交流中,二位详细分享了 Swift Package Index 项目的开发历程、技术架构及背后的设计理念。访谈深入剖析了 SPI 项目的技术细节与演进过程,并强调了开源社区对项目发展的重要意义,以及服务器端 Swift 技术在实际项目中的应用与实践经验。
Jakob Jelling[8]
Antoine van der Lee 是广受苹果开发者欢迎的博客 SwiftLee[9] 的创建者,同时也是 Xcode 模拟器辅助工具 RocketSim[10] 的作者。在这篇文章中,Jakob Jelling 详细讲述了 Antoine 如何从 2015 年开始,通过持续创作和发展,最终将 SwiftLee 成长为每月拥有 14 万访问者的知名博客。2024 年 3 月,Antoine 决定全职投入独立开发,将 SwiftLee 和 RocketSim 作为事业的核心。目前,他正致力于开发自己的第一门课程《从副业到全职独立[11]》,旨在帮助那些希望实现独立开发梦想的创作者。
Bas Thomas Broek[13]
VoiceOver 是一种屏幕阅读器,朗读屏幕上的内容,帮助视力障碍用户“听见”屏幕信息,从而能够独立使用设备的各种功能。Voice Control 则是为运动障碍者或希望免手操作设备的用户设计的语音控制功能,强调通过语音识别实现对设备的操作。在本文中,Bas Thomas Broek 深入探讨了如何优化应用的辅助功能,特别针对 VoiceOver 和 Voice Control 两种模式,分析了两者之间的优化方法与权衡之道。
Aryaman Sharda[15]
Shared with You[16] 是苹果在 iOS 16 中引入的一项特性,旨在帮助用户在相关应用中快速找到在消息中共享的内容。例如,用户可以直接在 Safari 中查看所有与他们共享的链接,无需离开浏览器。在本文中,Aryaman Sharda 详细介绍了如何在 SwiftUI 中实现 Shared with You 功能,提供了完整的代码实现,并分享了在测试该功能时的实用建议。
Danny Bolero[18]
虽然 SwiftUI 已推出多年,但在苹果开发生态中,它的使用率仍落后于 UIKit。在这篇文章中,Danny Bolella 通过分析 Translation[19] 这一只能在 SwiftUI 中使用的新框架,探讨了苹果在 UIKit 和 SwiftUI 之间的取舍。作者指出,越来越多对 SwiftUI 更友好的新框架(如 Charts、SwiftData、Observation)向开发者传递了明确的信息:虽然 UIKit 和 AppKit 目前不会被立即取代,但苹果正积极推动 SwiftUI 成为主流开发框架。
Natalia Panferova[21]
SwiftUI 中的环境(Environment)是一种在视图层次结构中跨越多个视图传递数据和配置信息的机制,其主要目的是解耦数据源与数据使用者,减少视图之间的直接依赖,简化数据传递。在这篇文章中,Natalia Panferova 全面介绍了 SwiftUI 环境的基本概念、使用方法以及高级应用,为开发者深入了解并灵活运用环境提供了详尽的指南。
如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞、赞赏,并将其 转发 给更多的朋友。
参考资料
[1]
weekly.fatbobman.com: https://weekly.fatbobman.com
[2]
肘子的 Swift 记事本: https://fatbobman.com
[3]
开发者对话 #2:Dave Verwer & Sven A. Schmidt (Dev Conversations #2: Dave Verwer & Sven A. Schmidt): https://t.ly/BQTN1
[4]
Natan Rolnik: https://x.com/natanrolnik
[5]
Swift Package Index: https://swiftpackageindex.com?issue=052&utm_source=fatbobman%20weekly%20issue%2052&utm_medium=email&utm_campaign=fatbobman%20weekly
[6]
iOS Dev Weekly: https://iosdevweekly.com?issue=052&utm_source=fatbobman%20weekly%20issue%2052&utm_medium=email&utm_campaign=fatbobman%20weekly
[7]
将博客发展到每月 14 万访问者 (Growing a blog about Swift to 140k visitors per month): https://t.ly/Cg3R0
[8]
Jakob Jelling: https://x.com/jakobjelling
[9]
SwiftLee: https://www.avanderlee.com?issue=052&utm_source=fatbobman%20weekly%20issue%2052&utm_medium=email&utm_campaign=fatbobman%20weekly
[10]
RocketSim: https://www.rocketsim.app/?issue=052&utm_source=fatbobman%20weekly%20issue%2052&utm_medium=email&utm_campaign=fatbobman%20weekly
[11]
从副业到全职独立: https://courses.avanderlee.com/p/from-side-project-to-going-indie?issue=052&utm_source=fatbobman%20weekly%20issue%2052&utm_medium=email&utm_campaign=fatbobman%20weekly
[12]
优化 VoiceOver 和 Voice Control (Optimizing for VoiceOver and Voice Control): https://t.ly/kWAVy
[13]
Bas Thomas Broek: https://iosdev.space/@bas
[14]
在 SwiftUI 中实现 Shared With You (Implementing Shared With You in SwiftUI): https://t.ly/JEvMF
[15]
Aryaman Sharda: https://x.com/aryamansharda
[16]
Shared with You: https://developer.apple.com/documentation/sharedwithyou
[17]
🪜 Translation 框架揭示苹果对 UIKit 的取舍 (Translation's Concurrency Pattern Spells Out the Plank for UIKit): https://t.ly/CIvrX
[18]
Danny Bolero: https://x.com/dbolella
[19]
Translation: https://developer.apple.com/documentation/translation/
[20]
SwiftUI 环境机制 (SwiftUI Environment): https://t.ly/I7hBi
[21]
Natalia Panferova: https://x.com/natpanferova