WWDC 2021 观后感

2021-06-18  本文已影响0人  东坡肘子3000

WWDC 2021转眼间已经结束一周了。本次WWDC苹果一如既往的带来了新的操作系统以及一大堆开发工具、软件架构、网络服务等方面的升级。由于疫情的原因,这两年的WWDC都是采用录播形式,不过从视频内容上看,反倒比以前传达地更加精准,对观看者也更加地友善。本文仅从我个人感兴趣的几个角度进行一点介绍,并结合这段时间的学习谈谈使用感受。

操作系统

这几年苹果的系统一直保持一种渐进式的升级态势,即使是大版本号升级通常并不会给人特别大的惊喜和改变。不过也正是在这种逐步的变化中,苹果不断的将它多个系统的联系变得更加紧密,生态建设的愈发完善。网上已经有了大量关于系统新功能的文章,所以我仅从自己的使用上谈几点感受。

iOS 15在旧设备上的效率相当不错(我在一台iPhone7上进行了安装)。相较于iPhone,iPad上对于多任务、多窗口的交互提升观感更明显。在后期软件适配跟上的情况下,iPad应用或许会有一个新的爆发。Monterey第一个版本的稳定度明显好于去年的Big Sur,界面细节的统一性也不错。相较于去年的大规模UI改变,今年在UI上更多是完善和细节改进。watchOS 8我没有在实机上测试,我对它新的体能训练类型以及睡眠呼吸率比较感兴趣。

抛开表面功能,因为今年苹果在Swift语言以及系统框架的大规模提升,相信不久后适配了新框架和新服务的App在新系统上会有很不一样的表现。由于今年绝大多数的Swift语言层面、框架层面的新功能都不会下放到老版本的操作系统,所以估计苹果也会继续加大力度促使用户升级。好在,新系统对硬件的涵盖比较广,和最近几年的系统对硬件需求差不多,估计用户的系统更新速度应该会比较快。

Swift

Swift 5.5可以说是在5.0发布以后最重大的更新。在今年Swift重构了异步和多线程的解决方案,并提供了结构式多线程Actor等重磅功能。

Swift 5.5目前提供的异步、多线程方式对于开发者来说非常友好,从最近的使用来看不仅上手容易,而且可以让自己的代码在极短的时间中受益。目前距离Swift 5.5正式发布还有一段时间,除了不可避免的Bug外,关键字、语法等也还在不断变化中。Xcode13 beta1中的Swift Toolchain关于异步调用语法已经和 最近的snapshot中有不小的改变。尽管如此,我还是推荐每一个Swift开发者都能够尽快地了解这些新的工具、模式,进而可以从另一个角度来思考编程的逻辑。关于异步、多线程的部分,我会在接下来一段时间写几篇文章做更多的介绍。

另一个让我非常有感的Swift增强是在通用上下文中扩展了静态成员的查找功能。这个看似不大的改动将极大地提高了自动补全的表现。官方框架已经对该功能做了充分适配,使用Xcode13你会感慨原来自动补全也可以这么好用。

相较于第一个重磅功能,其他的如#if表达式、本地化的lazy属性包装器可用于函数枚举适配编码Double—CGFloat相互转换等只能说是正常提升了。

SwiftUI

学习和使用下来的总体感觉是继续补强和规范。

如果单看Keynote,你会感觉好像苹果为SwiftUI带来了好多新的能力,不过仔细分析后会发现其中绝大多数都已经有较成熟的第三方解决方案了,当然官方的方案确实设计的统一性较好且实现地很优雅,相信这也将影响不少的SwiftUI三方库作者。提几个我个人感触较大的改进:

其中绝大多数的功能,我在之后会通过文章更详细的和大家分享。

遗憾的是,NavigationView没有在此次升级中补强。

另外,在本次WWDC上的Demystify SwiftUI绝对不容错过,通过对身份、生命周期、依赖的详细讲述让开发者了解SwiftUI的开发哲学及核心原则,并掌握如何使用它们来保证应用程序的准确和性能。

CoreData + Cloudkit

CoreData在今年的改动不多,主要体现在对同步和多线程的支持上。在本次WWDC之前坊间传闻并期望的SwiftData并没有出现。不过Cloudkit今年还是给我带来了巨大的惊喜:支持了本地化操作的Share数据库

在2019年,通过NSPersistentCloudKitContainer苹果打通了Coredata同cloudkit上的私有库,去年带来了公有库的本地化,今年终于将最后的短板补齐,让开发者可以轻松实现app用户同其他的icloud用户实时分享数据。为了实现这个功能,Cloudkit改善了它同本地数据的同步机制,响应不像去年的公共库同步那么迟钝。在今年WWDC众多的新功能中,Share Data是我一直最想要的功能!

Xcode

首先最直观的感觉很多的图标变得比以前精致了。Xcode Cloud看起来不错,但对于个人开发者的我来说还没有什么特别大的吸引力。如果你是Vim用户,一定会对Vim模式的到来感到兴奋。版本控制终于得到了提升,不仅在功能上,即使在界面布局上也看出了此次苹果对于版本控制重要性的认识有了提高。得益于Swift的改进,代码补全、错误提示比之前有了不小的进步(测试版中,错误提示还是有点诡异的)。最后,有两个并不完全属于Xcode的功能反倒值得特别注意:

其他

WWDC涉及的领域实在是太多了,大多数的Session我都没有时间观看和学习。除了上面提到的变化外,我额外关注了Foundation在今年的变化。苹果着重介绍了AttributedStringFormatter。AttributedString绝对是接下来在苹果开发生态中富文本的主力,Formatter对国际化、本地化的支持也达到了空前的高度。另外,从SwiftUI的Text和TextField都可以直接使用Formatter的情况来看,苹果将来会在其官方框架中增加对开发人员的引导。

关于WWDC的资料

下面是我观看和学习WWDC中使用的一些资源:

上一篇 下一篇

猜你喜欢

热点阅读