Monday@WWDC21
Developer Tools 入门 2m

WWDC21 周一回顾

Monday@WWDC21

2021年6月7日

在 Apple 官方观看视频

一句话判断

周一就是 Keynote + Platforms State of the Union 的消化日——大方向已经定了,接下来四天都在讲细节。

这场 Session 讲了什么

这是 WWDC21 第一天的每日回顾视频,时长约 2 分钟,快速回顾了当天的核心发布。周一的重头戏当然是 Keynote——iOS 15、iPadOS 15、macOS Monterey、watchOS 8 四大平台的新功能集中发布。随后是 Platforms State of the Union,面向开发者的技术综述,涵盖了 Xcode Cloud、Swift Concurrency、SwiftUI 新 API 等开发者最关心的工具更新。

回顾视频快速闪过了几个关键画面:FaceTime 的 Spatial Audio 演示、iPad 上的 Quick Note、Universal Control 跨设备操作、以及 Xcode Cloud 的首次公开亮相。对于没有时间看完两小时 Keynote 的开发者来说,这个两分钟的回顾是最高效的信息获取方式。

值得深挖的点

这一天的重磅内容都集中在主题演讲中。对开发者影响最大的几个发布:Swift Concurrency(async/await、Actor)将彻底改变 Swift 的异步编程方式;Xcode Cloud 是苹果自家的 CI/CD 服务;SwiftUI 在 macOS 上的成熟度终于接近可用状态。

代码片段

// 周一最重要的技术发布:Swift Concurrency
// WWDC21 标志着 async/await 正式进入 Swift

func fetchWeather() async throws -> Weather {
    let url = URL(string: "https://api.weather.com/current")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return try JSONDecoder().decode(Weather.self, from: data)
}

// 在 SwiftUI 中使用
struct WeatherView: View {
    @State private var weather: Weather?

    var body: some View {
        if let weather {
            Text("温度: \(weather.temperature)°")
        }
    }
    .task {
        weather = try? await fetchWeather()
    }
}

最佳实践

  • 周一的内容量最大,建议先看 Keynote 获取全局视野,再按需深入感兴趣的 Session
  • 如果你是 iOS 开发者,优先关注 iOS 15 的 Notification 相关变化和 Focus Mode

还有什么值得关注

  • Apple Design Awards 在周一公布获奖名单
  • Digital Lounges(数字休息室)从周一开始开放,开发者可以和苹果工程师在线交流
WWDC 2021