WWDC21 Sessions - Day 5
Posted 老司机技术周报
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WWDC21 Sessions - Day 5相关的知识,希望对你有一定的参考价值。
写在最前面
WWDC21 首日,Apple 已经将所有 Session 的介绍发布在了这里[1],大家可以进行查阅。周报组每天也会对前一天的 Session 简介进行简要的翻译。本文是 6 月 11 日相关内容哦~
Session 简介
ARC in Swift: Basics and beyond
学习了解 Swift 里对象的生命周期和 ARC 的基本知识。深入研究是什么语言特性使对象生命周期可被观测,依赖已观测的对象生命周期的后果,以及一些安全的修复方式。
Accelerate machine learning with Metal Performance Shaders Graph
Metal Performance Shaders Graph 是一个计算引擎,能够帮助你构建、编译和执行定制的多维图,用于线性代数、机器学习、计算机视觉和图像处理。了解 MPSGraph 如何通过 Apple 产品的 Metal 后端加速流行的 TensorFlow 平台。了解如何向图添加控制流,管理图编译以获得最佳性能,并使用 MPSGraph 操作来加速仅使用几行代码的最困难的计算应用程序。
Accelerate networking with HTTP/3 and QUIC
Web 正在变革,HTTP 的下一个大版本已经来临。了解 HTTP/3 如何为你的应用程序减少延迟和提高可靠性,探索底层传输使用的 QUIC,使用新的传输功能和多流连接组在你的自定义协议中解锁新姿势。
Bring Recurring Leaderboards to your game
周期性的排行榜是鼓励玩家不断回到游戏中的有效方法。请与我们一起编写代码,我们会介绍如何在 App Store Connect 和你的游戏中设置周期性的排行榜。
在开始编写此代码之前,我们建议你查看《WWDC20》中 “Tap into Game Center: leaderboard, achievement, and Multiplayer” 的排行榜部分。
Build a research and care app, part 1: Setup onboarding
了解 ResearchKit 和 CareKit 如何协同工作,以消除纸质调查的乏味感。与我们一起编码,并建立一个有效的护理试点应用程序。探索使用 ResearchKit 进行记录和同意的最佳实践,并了解你的应用程序如何通过利用 CareKit 的商店和 UI 组件要求参与者签署同意文件。
这是由三部分组成的 Code-Along 系列的第一个 session。为了更好地理解这个系列,我们建议你对 ResearchKit 和 CareKit 有一定的熟悉程度。如需了解这些框架的更多背景,请观看 WWDC19 上的 "ResearchKit and CareKit Reimagined"。
Build a research and care app, part 2: Schedule tasks
了解 ResearchKit 和 CareKit 如何协同工作,消除纸质调查的乏味感。继续与我们一起编码,探索如何让你比以往更容易为研究参与者安排调查。你还将学习在 CareKit 中制定不断发展的方案的高级技术,并了解 ResearchKit 的主动任务如何帮助捕捉诊所外的重要测量。
这是由三部分组成的 Code-Along 系列的第二个 session。为了更好地理解这个 session,我们建议首先观看 "Build a research and care app, part 1"。如需了解这些框架的更多背景,请观看 WWDC19 的 "ResearchKit and CareKit Reimagined"。
Build a research and care app, part 3: Visualize progress
了解 ResearchKit 和 CareKit 如何协同工作,消除纸质调查的乏味感。加入我们的代码之旅的最后一部分,我们将对我们的护理试点应用程序进行最后的润色。探索如何使用先进的 CareKit API 来定制任务卡的外观和行为,了解如何在 CareKit 图表中绘制 ResearchKit 调查的答案,并发现如何使用 ResearchKit 来展示有吸引力的教育内容。
这是由三部分组成的 Code-Along 系列的最后一个 session。为了更好地理解这个 session,我们建议首先观看 “Build a research and care app.” 的第一部分和第二部分。如果想了解更多关于这些框架的背景知识,请观看 WWDC19 的 “ResearchKit and CareKit Reimagined”。
Build apps that share data through CloudKit and Core Data
学习如何使用 NSPersistentCloudKitContainer 轻松构建多个 iCloud 用户之间共享数据的应用程序。了解如何围绕共享数据创建信息体验,并了解在 Core data 中支持这些特性的 CloudKit 技术。
为了更好地理解这个 session,请查看我们之前关于 NSPersistentCloudKitContaine 的视频 : WWDC19 的 “Using Core Data With CloudKit” 和 WWDC20 的 “Sync a Core Data store with the CloudKit public database”。
Coordinate media playback in Safari with Group Activities
创建人们可以在网络和你的配套应用程序中享受的 SharePlay 体验。了解你如何使用 Group Activities 框架与配套网站相结合,将 SharePlay 带到 Safari,让人们相互联系,进行愉快的群组互动 -- 即使他们还没有从 App Store 下载你的应用程序。
Create 3D workflows with USD
探索皮克斯的 Universal Scene Description(USD)在你的 3D 工作流程中的灵活性、通用性和强大。了解你如何在你的专业工作流程中为 macOS 使用 USD 文件格式:使用 Object Capture 扫描现实世界物体的 3D 模型,利用第三方数字内容创作工具的潜力,并建立高质量的渲染序列。
Cross reference content with the Apple Music API
了解你如何使用 Apple Music API 在你的应用程序中交叉引用 Apple Music 内容。我们将向你展示如何在不同的地理区域引用内容,将明确的内容映射到干净的同等内容,获取目录和库的关系,以及如何使用 UPC 代码匹配内容。
Design for Safari 15
迎接 Safari 15:重新设计并准备好帮助人们探索网络。发现你可以如何为 Safari 设计网站和应用程序,并学习如何在你的设计中加入标签栏。我们还将带你了解 Live Text 和 Accessibility 等功能的最佳实践,探索 CSS 和表单控件的最新更新,并学习如何使用 CSS 中的 aspect-ratio 属性来创建优秀的网站。
Detect bugs early with the static analyzer
了解 Xcode 如何在你运行你的应用程序之前自动跟踪死循环、无用代码和其他问题。了解如何通过一次点击,让 Xcode 帮助分析你的项目,以发现安全问题、逻辑错误以及 Objective-C、C 和 C++ 中其他难以发现的错误。我们将向你展示如何使用静态分析器来节省你调查 Bug 报告的时间,并提高你的应用程序的整体质量。
Developer spotlight: Accessibility
你是如何为每个人创建应用程序的?向本身就是盲人或聋哑人的开发者学习,他们将讨论使技术无障碍的过程。了解他们的独特视角如何在其公司引发创新,并帮助使其应用程序更具包容性。
Discover breakpoint improvements
断点可以帮助你调试问题,允许你在过程中暂停并检查问题。发现 Xcode 中断点的最新改进,包括列和未解决的断点。我们还将讨论一般断点的最佳实践以及 LLDB 的技巧和窍门。
Explore advanced project configuration in Xcode
正在处理更复杂的 Xcode 项目?你来对了地方。了解你能如何配置项目,以便为多个 Apple 平台构建,按平台过滤内容,创建自定义构建规则和文件依赖,以及更多。我们将带你了解多平台 framework target,详细介绍如何优化你的项目和方案配置,并告诉你如何有效利用配置设置文件。
我们将探讨为并行构建和隐性依赖配置方案、脚本执行阶段、自定义构建规则、设置输入和输出文件依赖、构建阶段文件列表,以及通过聚合目标重复工作。最后,了解更多关于构建设置编辑器、级别如何工作、以及配置设置文件语法的信息。
Friday's Mindful Cooldown for Coding… brought to you by Fitness+
随着 WWDC 的结束,这个 Mindful Cooldown 系列也将告一段落。在这个与 Fitness+ 培训师 Jonelle Lewis 合作的五分钟站立拉伸中,你将做温和的旋转动作来释放你的颈部、肩部和背部。然后花点时间享受一个充满活力的视觉效果。
Meet CloudKit Console
探索 CloudKit Console 如何帮助你更好地与你的容器互动。我们将向你展示如何将数据库 app 投入工作,并定义、修改和部署模式变化。你将学习如何在查询生成器中制作查询,并轻松地过滤你的记录。我们还将探讨如何使用遥测和日志数据来获得对你的应用行为的新见解。
要想完整理解这个 session,我们建议你熟悉 CloudKit 及其开发和生产环境,并对 record 和数据类型有基本的了解。
Mitigate fraud with App Attest and DeviceCheck
了解如何使用 App Attest 和 DeviceCheck,这是 Apple 公司强大的反欺诈工具,为了保护你的应用程序和内容而创建的。解开部署 App Attest 的秘密,将其纳入你的应用程序,以阻止对你的应用程序和内容进行未经授权的修改。我们还将向你展示如何使用 DeviceCheck,以确保你能区分在你的应用程序中获得优质内容的客户,以及通过非法手段获得这些内容的人。
Optimize for 5G networks
5G 带来了更好的数据传输性能、更高的带宽、更低的延迟等,为你的应用或游戏带来新的机遇。了解你如何利用最新的网络技术和 Apple 硬件,为你的内容创造最适合某人的数据连接的自适应体验,并优化网络流量。
Optimize for variable refresh rate displays
了解如何在所有支持动态刷新率的 Apple 平台上实现流畅的屏幕更新。学习在 macOS 的 Adaptive Sync 显示器上进行全屏游戏更新的技巧,并了解低功耗模式和其他系统状态如何影响 ProMotion 显示器的帧率可用性。我们还将分享使用 display link API 驱动自定义绘图的最佳实践。
Practice audio haptic design
了解如何在 iPhone 上提供包括动画、声音和触觉的丰富应用体验。了解在 Core Haptics 框架内设计多模态体验的关键概念。我们将带你参观我们的 HapticRicochet 应用样本 -- 在按下按键时触觉和声音反馈与按键的协奏 -- 并告诉你如何创造神奇和令人愉快的体验。
为了更好地理解这个 session,我们建议首先观看 WWDC19 上的 "Expanding the Sensory Experience with Core Haptics",并查看 HapticBounce 示例项目(需要 Xcode、iPhone 8 或更新版本,以及 Swift 的基本知识)。熟悉 Core Haptics 是有帮助的,但不是必须的。
Reduce network delays for your app
CPU 性能和网络吞吐率不断提高,但光速是一个不会再提高的极限。学习 API 和最佳实践,通过保持低的网络往返时间和在执行网络操作时尽量减少往返次数,最大限度地提高你的应用程序的响应能力和效率。
Safeguard your accounts, promotions, and content
了解如何持续保护你的账户、应用程序和内容。我们将探讨 Apple 公司为帮助开发者保持其应用程序和系统的安全性而构建的工具,并向你展示如何防范攻击者、不良分子和邪恶活动,以帮助保护你的生态系统。
Streamline your localized strings
当你对你的 app 内的文本进行本地化时,你可以帮助你的 app 更容易被全世界的受众所接受。发现构建本地化工作流程的最佳实践,包括如何准确地编写和格式化字符串,并学习如何使用 Xcode 为不同语言的本地化准备文案。
SwiftUI on the Mac: Build the fundamentals
请与我们一起敲代码,使用 SwiftUI 从头到尾构建一个 Mac 应用程序。探索所有伟大的 Mac 应用程序的四个共同原则,并学习如何使用 SwiftUI 在实践中应用这些原则。我们将向你展示如何创建一个强大、灵活的侧边栏体验,并在详细视图中把列表转化为表格,然后讨论数据组织的最佳实践。接下来,我们将探讨简单的 .searchable modifier,并学习如何添加对工具栏和搜索的支持。在第一部分的最后,我们将学习如何建立一个优秀的多窗口体验并提供菜单栏支持。
这是由两部分组成的 Code-Along 系列的第一个 session。为了更好地理解这个 session,我们建议你对 SwiftUI 有一些基本的熟悉。如果想要了解更多背景知识,请观看 WWDC20 的 "Introduction to SwiftUI"。
SwiftUI on the Mac: The finishing touches
加入我们的 Code-Along 系列的第二个 session,我们将使用 SwiftUI 从头到尾构建一个 Mac 应用程序。旅程继续,我们将探索我们的示例园艺 app 如何适应一个人的喜好和特定的工作流程。了解 SwiftUI 应用程序如何自动响应系统设置,并了解你如何利用这些信息为应用程序添加更多个性。我们将向你展示你如何通过设置让人们灵活地定制一个应用程序,并探索如何使用不同的工作流程来操作某人的数据(如拖放)。最后,我们将向你展示如何将数据移入和移出一个应用程序,结合 Continuity Camera 等功能,为导入图像提供一个简单的工作流程。
这是由两部分组成的 Code-Along 系列的第二节。为了更好地理解这个 session,我们建议首先观看 "SwiftUI on the Mac: Build the fundamentals"。如果想要更了解这些框架,请观看 WWDC20 的 SwiftUI 介绍。
Tailor the VoiceOver experience in your data-rich apps
了解如何利用 Accessibility Custom Content API 通过 VoiceOver 呈现复杂的数据。了解如何以简明的形式提供无障碍信息,并且只在用户需要时才提供。我们将向你展示如何整合 AXCustomContent,并帮助那些希望启用 VoiceOver 的人以有效的方式浏览你数据密集的应用程序。
为了更好地理解这个 session,你需要了解一般的无障碍原则和 Swift 和 SwiftUI 中可用的 VoiceOver 无障碍 API。
Tune your Core ML models
使用 Core ML 将机器学习的力量直接带到你的应用程序中。了解如何利用 CPU、GPU 和神经引擎提供最大性能,同时保留在设备上并保护隐私。探索 MLShapedArray,它能简化你在使用 Swift 时多维数据的处理,并了解更多关于 Core ML 中 ML Package 支持的信息,其中包括对 ML Programs 的支持。这种现代的、程序化的机器学习方法提供了类型化的执行和极大的灵活性。我们还将向你展示如何使用 ML Programs 分析模型的性能并调优模型中每个操作的执行。
Use Accelerate to improve performance and incorporate encrypted archives
Accelerate 框架帮助你进行大规模的数学计算和图像计算,这些计算会被优化为高性能、低能耗的计算。探索 Accelerate 及其 Basic Neural Network Subroutines 库的最新更新,包括附加层、激活函数和改进的优化器支持。查看 simd.h 的改进,包括对 C++ 模板的更好支持。发现对 Apple Encrypted Archive 的支持,这是 Apple Archive 的一个扩展,将压缩与强大的加密和数字签名相结合。了解如何在不影响性能的情况下保证数据的安全和可靠。
Write a DSL in Swift using result builders
有些问题可以通过创建一种定制的编程语言,或者 "domain-specific language." 来解决。虽然创建 DSL 通常上需要编写自己的编译器,但你可以使用 Swift 5.4 的 result builder,使你的代码更容易阅读和维护。我们将带你探索为 Swift 设计自定义语言的最佳实践。了解 result builder 和尾随闭包参数,探索 modifier 风格的函数以及它们工作良好的原因,并探索你能如何扩展 Swift 的正常语言规则,将 Swift 变成一个 DSL。
为了更好地理解这个 session,编写 SwiftUI 视图的经验会很有帮助的(尽管不是必须的)。你不需要知道任何关于解析器或编译器的实现。
关注我们
我们开通了公众号,每周都会定时发布 「老司机 ios 周报 」 在公众号(LSJCoding)上,欢迎关注。
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
《WWDC21 内参》提前购买
最后,我们也开放了今年 《WWDC21 内参》 购买链接:https://xiaozhuanlan.com/wwdc21 或者 「阅读原文」 即可购买。目前售价依旧是 9.9 元,我们依旧会选择一个合适的时机提高到 29.9 元甚至更高,以及到明年的 WWDC 前夕改为免费领取。
参考资料
[1]
这里: https://developer.apple.com/wwdc21/sessions/
以上是关于WWDC21 Sessions - Day 5的主要内容,如果未能解决你的问题,请参考以下文章