每年 WWDC 都会带来新的体系,新体系带来的新特性往往需求新的体系结构支撑,或者是之前体系中未开放给开发者的功用。因而每年 WWDC 都会有新的体系结构发布,让开发者也能够便利的运用新体系的特性开发自己的APP。下面列出的就是本年 WWDC 23 上新增的体系结构,以及个人(毒舌)点评。

Cinematic

iOS 17.0+iPadOS 17.0+macOS 14.0+Mac Catalyst 17.0+tvOS 17.0+

Apple 在 iPhone 13 上初次带来了电影效果,之后该模式一直都是体系相机独占的功用。本年 Apple 将电影效果的拍摄、编辑才能下放给了一切第三方 App 。经过 Cinematic 结构,第三方 APP 能够获得和体系相机一样的电影效果拍摄才能,以及 Final Cut Pro、照片和iMovie 等运用程序的电影效果编辑才能。

iPhone 上的电影效果个人感觉可用性其实挺差的,穿帮的概率很高,也十分挑光线和角度。不仅是电影效果,FaceTime 的聚集也是一样。核算摄影想要在视频拍摄上模仿大光圈还有很长的一条路要走。

重要性:⭐️

DockKit

iOS 17.0+iPadOS 17.0+Mac Catalyst 17.0+

我们在手持稳定器上必定看到过他们自带的 APP 具有盯梢主体的功用,这需求对被摄物体进行确定,一起核算出摄像头(相机)的朝向角度,以坚持被摄物体居中。曩昔都是各个公司自己完成的盯梢算法,本年 Apple 推出了原生才能支撑。

WWDC 23 新增的系统框架

Apple 推出这个结构有点无厘头,毕竟这个结构是调配硬件设备运用的(官方文档),而 Apple 现在并没有相似这样的硬件。个人感觉这套算法应该是 FaceTime 上的 “人物局中” 的延伸,乃至不扫除在本年下半年发布会上发布相似产品的可能。毕竟本年 tvOS 现已支撑了 FaceTime ,调配摄像头硬件也是一个十分合理的运用场景。

重要性:⭐️

MediaExtension

macOS 14.0+Mac Catalyst 17.0+

此结构为开发人员供给了一种为体系自身不支撑的媒体创立格式阅读器和视频解码器的方法。MediaExtension 格式读取器封装体系自身不支撑的媒体资产,以便体系能够辨认它们。MediaExtension 视频解码器解码体系自身不支撑的视频格式。

现在官方没有更多关于该结构的介绍和视频。现在 macOS 关于不支撑的媒体格式或类型一般都只能求助于第三方的播映器软件。我猜想这个结构可能是供给一个公开协议,让其他插件能够供给规范的视频编码和解码才能。这样的话,视频播映才能就和具体某一个软件无关。只需求装置某一种视频格式的解码插件,一切播映器(包括 QuickTime)都能够正常播映这种格式的视频。相似于现在 Windows 支撑的做法。

重要性:⭐️

Observation

iOS 17.0+iPadOS 17.0+macOS 14.0+Mac Catalyst 17.0+tvOS 17.0+watchOS 10.0+

Observation 供给了 Swift 中调查器设计模式的强健、类型安全且高性能的完成。此模式允许可调查目标保护调查器列表,并通知它们特定或惯例状况更改。这样做的优点是不会直接将目标耦合在一起,并允许在潜在的多个调查者之间隐式分发更新。

@Observation 是本年 SwiftUI 状况办理的最大改善。经过引入 Swift 宏,Apple 极大简化了状况办理相关的 API,是一个十分好的更新,强烈建议学习。可是不明白这种 API 等级的更新为何需求单独作为一个结构发布而不是作为现有 SwiftUI 结构的弥补?

重要性:⭐️⭐️⭐️⭐️

SensitiveContentAnalysis

iOS 17.0+iPadOS 17.0+macOS 14.0+Mac Catalyst 17.0+watchOS 10.0+

此结构使运用能够查看内容是否存在裸露。在 iOS 和 macOS 中,“屏幕运用时间”中的“灵敏内容正告”用户首选项或“通信安全”家长操控为用户供给了表明他们希望防止意外或意外暴露包括裸露的图像的选项。经过运用灵敏内容分析在显示灵敏内容之前查看灵敏内容,为用户供给他们在这些设置中请求的体验。

没啥好说的,国内应该用不到。由于国内的内容审核基本上都在服务端,而且规模也远远大于裸露这个概念。

重要性:⭐️

SwiftData

iOS 17.0+iPadOS 17.0+macOS 14.0+Mac Catalyst 17.0+watchOS 10.0+

以声明方法编写模型代码,以添加保管持久性和自动 iCloud 同步。SwiftData 使您能够快速向运用程序添加持久性,只需最少的代码,而且没有外部依靠关系。运用宏等现代语言功用,SwiftData 使您能够编写快速、高效且安全的代码,使您能够描述运用程序的整个模型层(或目标图)。该结构处理存储根底模型数据,并选择性地跨多个设备同步该数据。

个人感觉是本年推出的新结构中最重要的结构。Observation 尽管极大便利和简化了 SwiftUI 的状况办理,但也只是如虎添翼的事情。SwiftData 是真正完成了用 Swift 的方法去编写和办理数据库,一起对 SwiftUI 以及状况办理的融合更好,

重要性:⭐️⭐️⭐️⭐️

Symbols

iOS 17.0+iPadOS 17.0+macOS 14.0+Mac Catalyst 17.0+tvOS 17.0+watchOS 10.0+

将通用动画运用于根据元件的图像。Symbols 结构供给对元件效果的访问,您能够运用这些效果在 AppKit、UIKit 和 SwiftUI 运用程序中对 SF 元件进行动画处理。

体系图标每年都会更新,不仅仅是图标数量,功用上也在迭代。从单一色彩到五颜六色图标,再到本年的动画支撑。可是国内的公司一般都会有自己的设计 ID ,不太会考虑苹果供给的体系图标。而且本年的图标动画感觉适用的场景很有限,官方视频里出现的几个运用场景感觉都不是很合适,本年的 iOS 17 中也没看到有场景里用到了 FS Symbols 动画。

重要性:⭐️

WorkoutKit

iOS 17.0+iPadOS 17.0+watchOS 10.0+

创立、预览体能训练组合并将其同步到体能训练 App。体能训练工具包结构供给了一些模型和实用工具,用于在 iOS 和 watchOS App 中创立和预览体能训练组成,以及将计划的组成同步到体能训练 App。

以往 Apple Watch 只支撑体系自带的一些运动项目的盯梢和监控,现在开发者也能够创立自定义的运动项目并集成在 Apple Watch 中。iPhone 和 iPad 上也支撑自定义运动。举个运用场景,你在 Keep 上跟着教练做完一节 HIT,Keep 就能够把运动记载(名称、卡路里、呼吸等数据)记载在体系的运动 APP 上,便利进行统一的运动数据办理。

重要性:⭐️⭐️

TipKit

用于在界面上展现引导提示的结构。不仅包括了 UI 组成,一起供给了丰厚的 API 用来操控提示展现的战略。

这个结构出现在了 WWDC 的讲座中,可是现在没有放出 API 文档。这个结构也是一个如虎添翼的效果,由于提示的完成本钱不高,现在 APP 都是自己完成。不过比较有意思的是,这个结构还供给了十分强大的展现战略定义功用,包括展现的频次、在某个事情之后展现、用户多次无视该提示就不再展现等等,还支撑 iCloud 同步避免在多个设备上重复提示。

重要性:⭐️

总结

本年发布的新结构不是许多,重要的也很少。其实本年的大头都在 Vision Pro,只不过 Vision Pro 的才能大多根据现有的结构,如 ARKit、RealityKit,可见 Apple 的布局是有多么早。

比较意外的是本年 Apple 关于火热的生成式 Ai 简直0参与,唯一沾点边的可能是 Xcode 15 愈加“智能”的代码提示功用,可是和近邻一比底子拿不出手。我猜想有两个原因,一是 Vision Pro 占用了 Apple 很多的资源,另外一个原因是现在生成式 Ai 的风评十分两极化。Apple 如今作为一个全球品牌,现已彻底超出了一个消费电子品牌的领域,感觉更像是迪斯尼这种文明内容公司。因而相似的,迪斯尼永久只拍欢乐的、安全的、政治正确的合家欢电影,而 Apple 这边的战略也十分相似,环保、容纳、女性、隐私、安全等等,在公关形象上无懈可击。生成式 Ai 现在在隐私、安全问题上的担忧和 Apple 的战略不一致,所以比较慎重。

最终是一个坏消息,以上一切的新结构都是 iOS17 +,意味着当你用上它的时分可能现已是5年后乃至更久了。这也是我没有给出5分的原因。由于即便是再重磅的结构,假如只能5年后再用,那你什么时分开始学都不嫌晚。