WWDC 2018 不完全摘要

iOS 12

​ 本来看片头风格大改,以为会换界面,结果只是AR Kit 2。个人以为不管AR、VR、还是MR,用在手机上还是有点鸡肋的。大概至少要集成到Google Glasses 的程度,才会普及吧。当然,新的控制方式是少不了的。

​ 大部分新功能被推迟了,本次更新最大的卖点是性能优化。应用启动速度和系统响应速度有明显改进,包括iPhone 5s(个人觉得这比“吓死人的鬼科技”要实在多了)。看来电池门在内部的影响还是挺大的。

​ Siri增加了一个类似语音宏的功能,可以把软件的一些快捷功能设置成语音指令了。

​ 通知分组功能。不用再满屏聊天消息了。另外提供了API接口控制分组。

​ macOS上倒是增加了一个黑色主题,系统级支持,希望iOS明年能跟上吧。另外一个有意思的地方,是官方在macOS 10.14上启用了UIKit支持,目前还没有开放,只是官方移植了几个应用。预计明年会对开发者开放,到时候就可以把iOS应用直接移植到mac上了。

Xcode

​ XCode10 变化还是挺多的,主要在功能改进和细节完善上。嗯,感谢电池门:

  • Swift编译速度大幅改进,纯Swift项目,平均可以提升一倍。
  • 新的Build系统,嗯,又是新的。
  • 改进了语法高亮和代码提示的可靠性,这个说多了都是泪。
  • Playground新增步进运行和增量运行。以前一点改动就要重新运行。现在可以运行代码到指定位置然后暂停,或者写一行运行一行。
  • 新增了一个本地化相关的Asset,集中管理本地化翻译内容。
  • Instruments可以自定义测量项目了。

Swift

​ Swift 5 推迟半年,今年只有4.2了,变化不大。 ABI锁定什么的无所谓啦,只希望到时候能有await/sync 。

  • Enum增加了一个CaseIterable自动协议,提供allCases类属性,返回枚举的所有值。
  • IUO隐式可空重写了,新的实现是普通的Optinal加上一个meta flag。对使用没什么影响。
  • Hashable改进,改成了hash(into:)方法,由系统提供高质量的hash算法。这个主要是出于安全性的改进。另外由于hash使用了应用启动时随机生成的种子,Dictionary和Set的遍历顺序可能每次都会不一样。
  • 原生随机数API,告别用arc4random拼凑随机数的日子。比如Int.random(in: 1...10)Double.random(in: 0..<100),或者丢个硬币Bool.random()。同时也提供RandomNumberGenerator实现自己的随机数算法。感谢社区。
  • 容器增加了shuffle()/shuffled()用以打乱元素顺序,以及randomElement()获取随机元素。
  • Debug模式改了默认编译模式,编译速度提升。

Framework / UIKit

  • 大幅改进了AutoLayout的性能。特别是复杂约束和嵌套约束,性能影响从次方级变成了线性。
  • 新的Accelerate库,提供了大量矩阵运算(SIMD)的高级封装。Swift优化,为全部Apple硬件提供支持。这个主要是用来做图像和3D加速的,要是开源跨平台就好了。。。
  • Create ML,用于快速训练模型的工具,可以在Playground里玩,只需要几行代码,在台式机上跑个几分钟,就能训练出效果很好的模型,而且模型只有几十KB到十几MB。这其实是官方提供的半定制的预生成模型,有三种:喂图片出标签,喂文本出标签,以及喂表格预测数据(官方例子是根据房子户型面积等预估一个房价)。
  • ARKit 2,这个是苹果主推。然而Session里面的印式英语实在让人头疼,不过最大的特色应该就是支持多人互动吧,从开发者的角度来说,就是多设备共享同一个AR场景。然后是更好的对象识别,更精确的定位,以及新的跨平台格式USDZ。

你可能感兴趣的:(WWDC 2018 不完全摘要)