-
WWDC 每日摘要:第 5 天
Swift 优化不停歇。今天,我们将与一位特别嘉宾深入探索最新的语言更新,了解这些更新能够为你的代码解锁哪些精彩功能,以及为什么说 Swift 开发者迎来了激动人心的时刻。
资源
-
搜索此视频…
本期到此收官 欢迎来到 WWDC 每日摘要 WWDC26 最后一天 这一周真的太精彩了 今天上午还有两场小组实验室 内容都很精彩 提醒一下 所有小组实验室 都支持点播回看 你随时都可以回头再看 不过在收尾之前 还有一场对谈你一定要听听 Swift 是贯穿整周的核心主题 由 Holly Borla 来为我们收尾 再合适不过 我的同事 Jeff 在本周早些时候 和她进行了对谈 下面有请他们 Holly Borla Swift 团队的工程经理 今年你这边有不少新动向 你今年在 SOTU 展示了我猜是 用你本人拟我表情做的幻灯片 讲到 今年 Swift 的设计初衷 完全是帮开发者 回归最重要的事 也就是享受乐趣 能展开讲讲吗 好的 对我来说这包含两层含义 第一是写出清晰优美的代码 很多时候我用 Swift 写完代码 都会为自己所写代码的 可读性感到自豪 第二是对你所写代码的 正确性有十足把握 而编译器能帮你捕捉错误 这是其中非常关键的一点 所以为了写出清晰优美的代码 我们的目标之一 就是消除 日常写代码时遇到的各种阻碍 你在 Swift 6.4 里看到的很多更新 都是在移除这些阻碍点 让它们不再干扰你 这样你就能专心用清晰优美的方式 表达自己的想法 今年开发者最先会 注意到的变化有哪些? 其实我觉得很多更新 开发者可能都不会注意到 直到有人提醒他们 这些问题已经不存在了 比如 现在 Swift 里的 some 和 any 类型 配合可选类型使用时 写法更简洁了 以前你得多写一些带括号的语法 现在大家凭直觉写出来的代码 直接就能运行 所以这个优化改善了开发者 编写 Swift 代码的体验 但你可能不会特意察觉到 但所有这些小细节累积起来 就能切实提升你 日常编写 Swift 代码的效率 并发代码里也是一样 在 defer 块中调用 async 方法 以前这是有局限的 编译器会阻止你这么做 现在它也能按你预期的方式正常运行 你可以像在函数其他部分一样 调用 async 代码 还是那句话 除非你之前知道有这个限制 不然你可能都注意不到 你只是不会再被这个问题卡住 你凭直觉写的代码能正常运行 你可以继续往下写 不用再费心处理这类问题 也就是靠做减法实现增益 没错! 最好的体验就是一切顺畅运行 你甚至都没意识到以前它是有问题的 太棒了 今年大家能看到的新内容有很多 有没有什么幕后的进展 可能不那么显眼 但你和团队特别引以为傲的 编译器开发里有一个方向 让我特别兴奋 它不是什么炫酷的新语言特性 而是诊断功能的优化 也就是优化编译器给出的错误提示 我觉得这个领域非常重要 因为这是你写 Swift 代码时 收到的主要反馈 它能帮你深入理解 正在使用的语言特性 明白哪些写法可行哪些不行 但如果错误提示晦涩难懂 没法立刻告诉你该怎么修复代码 体验也会非常糟糕 所以今年 Swift 6.4 里有很多 不同类型的诊断功能优化 部分优化偏向底层架构 旨在提升当前的诊断效果 并且未来也能持续改进 同时你也有了更多方式 来控制代码中的诊断行为 我最喜欢的新特性之一是 @Diagnose 属性 它能让你控制代码中警告的行为 比如可以忽略弃用提示 还能更精细地开启严格内存安全 或者严格并发诊断 这对迁移到 Swift 6 语言模式 很有帮助 所以方方面面都有优化 既给了你更多控制权 也整体提升了诊断体验 SOTU 里有个很有意思的小片段 你提到了一个已经得到优化的 具体问题 能说说是什么问题吗? 好的 就是那条 “The compiler is unable to type-check this expression in reasonable time”的错误提示 如果你之前写过 有一定规模的 Swift 代码 肯定见过这条错误 这是编译器类型检查器的回退机制 类型检查器是负责类型推断、 重载解析的子系统 它会判断你调用函数时 实际想调用的是众多重载版本里的 哪一个 这个过程有性能阈值限制 包括预估耗时 和系统内存占用 如果超出阈值 你就会收到这条回退错误 这会让人很困扰 因为 有时候你根本不确定 是代码本身 没问题 只是编译器超时了 还是代码里有错误 编译器在尝试 给出更精准诊断的时候超时了 所以我们一直在优化 这方面的开发体验 尽量减少开发者实际遇到 这条错误的情况 今年我们重点优化了嵌套闭包和 SwiftUI 视图体中的这类错误 这是最常出现这个问题的场景 后续还有更多工作要做 如果你感兴趣 可以通过 Swift 开源项目跟进进展 所有相关工作都在那里开展 我们取得进展时 也会发布路线图和更新 但我们知道这是开发者体验里 非常重要的优化方向 因为一旦遇到这个错误 你很难判断该怎么修复 今年有很多内容值得大家尝试 你最期待大家去体验什么? 我特别期待大家去体验 控制代码诊断行为的新特性 我认为它有潜力优化大家的工作流程 尤其是在开启严格并发检查 这类诊断功能的迁移过程中 能帮大家更好地制定 Swift 6 语言模式的迁移策略 所以我很期待看到开发者们 在迁移过程中怎么运用这个功能 我最喜欢做的事之一就是阅读文章、 博客帖子或者观看大会演讲 看大家分享不同的迁移策略 或者在自己的代码库里 高效运用语言特性的方法 这些内容对我来说很有价值 我也很开心看到大家把这些技巧 分享给更广泛的社区 非常感谢 Holly 和 Jeff 为本周画上了完美的句号 学习不会就此止步 欢迎参与全球各地的 WWDC 回顾活动 了解这些新发布内容能为你的 App 和游戏带来哪些助力 访问 developer.apple.com/cn/events 了解最新的讲座、工作坊和实验室 线上线下都有 包括我们在班加罗尔、库比提诺、 上海、新加坡的开发者中心 以及今年晚些时候即将开业的 柏林开发者中心 关注 Apple 开发者获取更多详情 该去看看我的智能体 在 Xcode 里做出了什么成果了 感谢你参与本次 WWDC 我们迫不及待想看到你接下来的创作 再见
再见
-