肘子的话
网络上虽已有不少优秀的苹果开发生态相关周报和通讯,我仍然创立了这份周报。初衷很简单:在日常阅读中筛选感兴趣的内容,以自己的视角与读者分享。从去年十月初首期发布至今,转眼已是一年,累计51期。
作为社会性动物,人难免渴望一些外部的正反馈。博客和周报的读者量、访问量持续增长,确实在一段时间里满足了这种需求,让我感受到创作获得了认可。原本以为这会是一种长期的鼓励,但日子久了,我发觉这些不断攀升的数字开始影响创作的纯粹性。不知不觉间,我会在写作时,对选题和效性上产生了顾虑,更在意读者的感受而非内容的本身价值。当然,问题不在数字本身,而在于我的心态悄然改变。这需要及时调整。
不久前,我给自己放了一个月的假(暂停更新博客)。这段时间里,除了彻底放松,我也深入剖析和梳理了自己的状态。回想起来,我的博客中文名“肘子的 Swift 记事本”恰恰体现了最初的愿景:以自己为中心,记录学习和开发中的点滴。写作本质上是提炼和梳理内容的过程,目的是帮助自己更好地成长。分享则是在此基础上的自然延伸。只有自己学得开心、用得明白、记得清晰,文章才真正具备被他人阅读、喜爱的价值。
虽然目前我还未将开发和写作作为谋生手段,但即便未来转向职业创作,我仍希望保持这种状态:不刻意迎合读者,只学自己感兴趣的,只写自己认为有意思的。我深信,唯有自己乐在其中,才能创作出真正有价值的内容。
保持初心并不容易,但我会尝试下去。让我们一起回归纯粹,继续这段充满乐趣的学习和分享之旅。
近期推荐
开发者对话 #2:Dave Verwer & Sven A. Schmidt (Dev Conversations #2: Dave Verwer & Sven A. Schmidt)
Swift Package Index 的两位创建者 Dave Verwer 和 Sven A. Schmidt 近期接受了 Natan Rolnik 的访谈。Dave Verwer 同时也是苹果生态中最受欢迎的开发者周报—— iOS Dev Weekly 的编者。在交流中,二位详细分享了 Swift Package Index 项目的开发历程、技术架构及背后的设计理念。访谈深入剖析了 SPI 项目的技术细节与演进过程,并强调了开源社区对项目发展的重要意义,以及服务器端 Swift 技术在实际项目中的应用与实践经验。
将博客发展到每月 14 万访问者 (Growing a blog about Swift to 140k visitors per month)
Antoine van der Lee 是广受苹果开发者欢迎的博客 SwiftLee 的创建者,同时也是 Xcode 模拟器辅助工具 RocketSim 的作者。在这篇文章中,Jakob Jelling 详细讲述了 Antoine 如何从 2015 年开始,通过持续创作和发展,最终将 SwiftLee 成长为每月拥有 14 万访问者的知名博客。2024 年 3 月,Antoine 决定全职投入独立开发,将 SwiftLee 和 RocketSim 作为事业的核心。目前,他正致力于开发自己的第一门课程《从副业到全职独立》,旨在帮助那些希望实现独立开发梦想的创作者。
优化 VoiceOver 和 Voice Control (Optimizing for VoiceOver and Voice Control)
VoiceOver 是一种屏幕阅读器,朗读屏幕上的内容,帮助视力障碍用户“听见”屏幕信息,从而能够独立使用设备的各种功能。Voice Control 则是为运动障碍者或希望免手操作设备的用户设计的语音控制功能,强调通过语音识别实现对设备的操作。在本文中,Bas Thomas Broek 深入探讨了如何优化应用的辅助功能,特别针对 VoiceOver 和 Voice Control 两种模式,分析了两者之间的优化方法与权衡之道。
在 SwiftUI 中实现 Shared With You (Implementing Shared With You in SwiftUI)
Shared with You 是苹果在 iOS 16 中引入的一项特性,旨在帮助用户在相关应用中快速找到在消息中共享的内容。例如,用户可以直接在 Safari 中查看所有与他们共享的链接,无需离开浏览器。在本文中,Aryaman Sharda 详细介绍了如何在 SwiftUI 中实现 Shared with You 功能,提供了完整的代码实现,并分享了在测试该功能时的实用建议。
🪜 Translation 框架揭示苹果对 UIKit 的取舍 (Translation’s Concurrency Pattern Spells Out the Plank for UIKit)
虽然 SwiftUI 已推出多年,但在苹果开发生态中,它的使用率仍落后于 UIKit。在这篇文章中,Danny Bolella 通过分析 Translation 这一只能在 SwiftUI 中使用的新框架,探讨了苹果在 UIKit 和 SwiftUI 之间的取舍。作者指出,越来越多对 SwiftUI 更友好的新框架(如 Charts、SwiftData、Observation)向开发者传递了明确的信息:虽然 UIKit 和 AppKit 目前不会被立即取代,但苹果正积极推动 SwiftUI 成为主流开发框架。
SwiftUI 环境机制 (SwiftUI Environment)
SwiftUI 中的环境(Environment)是一种在视图层次结构中跨越多个视图传递数据和配置信息的机制,其主要目的是解耦数据源与数据使用者,减少视图之间的直接依赖,简化数据传递。在这篇文章中,Natalia Panferova 全面介绍了 SwiftUI 环境的基本概念、使用方法以及高级应用,为开发者深入了解并灵活运用环境提供了详尽的指南。