Friday@WWDC21
Developer Tools 入门 2m

WWDC21 周五回顾

Friday@WWDC21

2021年6月11日

在 Apple 官方观看视频

一句话判断

周五是收尾和补充日——一些没来得及在前几天发的 Session 集中放出,加上社区活动的收尾。

这场 Session 讲了什么

WWDC21 最后一天的每日回顾,约 2 分钟。周五的内容相对轻松,是一些补充性的 Session 和社区活动的收尾。

这一天发布的 Session 包括:SF Symbols in SwiftUI(10349)——专门讲 SwiftUI 中如何使用 SF Symbols 的 Rendering Modes 和 symbolVariant 修饰符;以及一些特定主题的 Session(如 Core Data 的并发安全、WidgetKit 的新功能等)。Digital Lounges 和社区活动在周五画上句号。

回顾视频还总结了整个 WWDC21 周的亮点:iOS 15 的 Live Text 和 Focus Mode、macOS Monterey 的 Universal Control、Swift Concurrency 的引入、Xcode Cloud 的发布、以及 watchOS AssistiveTouch。对于开发者来说,这一周最重要的收获是 Swift 语言层面的 async/await 和 Actor 模型——这将从根本上改变 iOS 开发的异步编程范式。

值得深挖的点

周五适合做「查漏补缺」——回顾这一周发布的所有 Session 列表,找到和你技术栈相关但还没来得及看的内容。苹果会在 WWDC 之后保留所有 Session 的回放视频,不需要急着一周内看完。

代码片段

// WWDC21 周五收尾:这一周最重要的 Swift 语言变化

// 1. async/await 终于来了
func loadImage(url: URL) async throws -> UIImage {
    let (data, _) = try await URLSession.shared.data(from: url)
    guard let image = UIImage(data: data) else {
        throw ImageError.invalid
    }
    return image
}

// 2. Actor 保证并发安全
actor ImageCache {
    private var cache: [URL: UIImage] = [:]

    func get(_ url: URL) -> UIImage? {
        cache[url]
    }

    func set(_ image: UIImage, for url: URL) {
        cache[url] = image
    }
}

最佳实践

  • WWDC 结束后,给自己列一个「Session 观看清单」,按优先级排列,在未来几周内逐步消化
  • 新 beta 版的 SDK 通常在 Keynote 后几天内发布,尽快在测试项目中验证新 API

还有什么值得关注

  • 所有 WWDC21 Session 视频会在 Apple Developer 网站永久保留,可以随时回看
  • 社区中有大量 WWDC21 笔记和总结(如 WWDC Notes 项目),是复习的好资料
  • Xcode 13 beta 从这一周开始可以下载,包含所有新 API 的 SDK
WWDC 2021