查看原文
其他

WWDC 2022 第三天 - 一些记录,WWDC.playground 连线 WWDC 现场

戴铭 starming 2022-06-08

前两天的内容见:

WWDC 2022 第一天 - 指南

WWDC 2022 第二天 - Keynote 笔记和 WWDC.playground 直播活动


WWDC.playground 很精彩,怎么感觉昨天的 WWDC.playground 像是听了一期枫言枫语呢。预感 11 号可能会变成为一期 weak self 呢。

昨天老司机还整理了份 WWDC22 Session 观看介绍的列表 https://wwdc-reference.feishu.cn/wiki/wikcnXl4ioToZuW4yvfAqUoNQFS?sheet=Lqblfd&table=tblGVOzKgFhVpBWg&view=vewysxfUqf

Apple 出的内容看不够的话,可使用 https://iosfeeds.com/wwdc22 来看最新的 WWDC 相关的社区文章。

下面是我今天的一些记录。

Xcode

代码补全的更新。以前多个可选参数的体验很差,这次输入参数比如 frame 里的 maxWidth,会只显示当前要补全的参数。而且速度快了很多。

以前是编完源码再生成 module,然后 link编好的文件,最后再 link。现在整个过程改成并行执行,同时 link 还快了两倍。结果是比以前快了25%,核越多效果越明显。还有可可视化整个过程。

多平台以前是多个 tagets,现在是在一个 target 里管理。

Hangs 是官方线上主线程被卡了的检查工具,在 Organizer 里查看对应问题堆栈也很方便。

当然最爱的还是 sticky headers,秒杀其它编辑器 (虽然我还是觉得 Emacs 最好,由于会暴露年龄,一般我都不说)。

还有内存也好了很多,总体来说,这次 Xcode 更新很棒。

完整 Xcode release notes 见 https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

WidgetKit

WidgetKit 将 WatchOS 上的 Circular、Rectangle 还有 Inline 带到了 iOS 和其他平台。

WeatherKit

安全方便获得用户位置信息,只用于天气。

VisionKit

Live Text API,感觉这类库都是为了以后出眼镜做铺垫的。

macOS

macOS 支持window,menuBar也支持了。

Swift

distrubuted actor 更安全,还可以在设备间(本地设备<->本地设备,本地设备<->服务器)进行通信保护。

泛型新语法 some 和 any 关键字写起来真的简化了很多。

Swift 的更新了什么,除了 Session 外,还可以参看 Paul Hudson 这篇文章 https://www.hackingwithswift.com/articles/249/whats-new-in-swift-5-7 ,还有 Donny Wals 的这篇 https://www.donnywals.com/whats-the-difference-between-any-and-some-in-swift-5-7/ 。

SwiftUI

SwiftUI里没有用属性包装的属性也能够和视图变化绑定了。

关于 SwiftUI 的更新,Paul Hudson 写了很多例子 https://www.hackingwithswift.com/articles/250/whats-new-in-swiftui-for-ios-16 。

Reda Lemeden 整理了 WWDC22 SwiftUI 的所有相关内容 https://redalemeden.com/collections/swiftui-2022/ 。可见社区对 SwiftUI 热情依然是最高的。

SPM

Swift Package Plugin,本来用其他语言,比如 ruby 、python 或 shell 做的事情,现在可以通过 Swift 语言来完成了,写的 plugin 还可以方便的在 Xcode 中使用。

虚机

使用 Virtualization 框架,享受 Rosetta 2 的优势,运行 x86-64 Linux 系统。

Apple 出虚机可运行 Linux 系统这点可以看得出 Apple 对开源的拥抱,原因还有一点是 Swift 也可以用在 Linux 服务器上了,Apple 用心良苦,也是想让开发者用本打算买其它硬件的钱来买 Apple 的硬件吧,更好的榨干 Apple 硬件过于优秀的性能,如同新出 Stage Manager 通过投到大屏来榨干 M1 的 iPad 性能。不光是这样,还有文件,也就是存储设备也只需要一份了,更方便,还有苹果特有的 Trackpad 和 Magic mouse 也能够用于 Linux 系统中。

虚机运行 Linux 和 macOS 的区别是,启动 Linux 使用的是 EFI Boot Loader 来加载 Linux 文件,VirtioGraphicDevice 进行 Linux 系统图形界面的设置和渲染。使用Rosetta 运行 Linux 系统,运行 Linux 就是比其它虚机要快。

介绍的 session https://developer.apple.com/wwdc22/10002 示例代码:https://developer.apple.com/documentation/virtualization/running_gui_linux_in_a_virtual_machine_on_a_mac 虚机主题:https://developer.apple.com/documentation/virtualization

WWDC22.playground

WWDC22.playground 系列活动进入到第二天啦!今天晚上9点,我们会延续 6.6 日的先导直播,继续连线现场嘉宾道长和老驴,分享更多他们在现场参会的体验,同时,我们在直播间还准备了大量精美的奖品,一定要来哦~

Bilibili 预约(预约有奖:sspao x keychron 联名键盘 * 1 份)

视频号预约(直播现场好礼送不停~)

WWDC22.palyground 活动详情

礼物和前两天一样,留言吧!友情提示,昨天礼品还没送完,可以去接着留言。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存