WWDC2019最值得看的十个视频

说明

时间对每个人都是稀缺的,这里总结了WWDC2019最值得看的十个视频。
看完上面前十还有兴趣,可以到官网查看其它视频。
https://developer.apple.com/videos/wwdc2019

1. Platforms State of the Union – Session 103

观看链接:Platforms State of the Union – Session 103

汇总平台状态是每年WWDC梦开始的地方,它概括了所有WWDC的精华,如果没有时间,那就看这一部就好了。

今年描述三个主要变化如下:

  1. 开发效率: 爆炸性推出 SwiftUI.
  • SwiftUI是开发更像玩一样简单.
  • Xcode显著提高了支持live 开发, live 预览, 新的布局, 提高文档辅助, 测试计划等.
  • Swift ABI(应用系统二进制接口application binary interfaces) 和 Module模块化稳定.
  1. 平台: 平台新特性.
  • macOS Catalina 包含 Catalyst, 它使iPad apps可以运行在Mac. Apple把系统分区权限改为只读。 把应用的二进制跟应用数据分开,提高了安全性和可靠性.
  • watchOS 6 宣布独立于手机平台. 现在可以独立开发watch app.
  • iOS 13 特性:快速输入键盘,黑暗模式, 分享按钮, 卡片视图, 功能色, 自适应性材料, 新的符合类库a new library of symbols.
  • iPadOS 特性:多任务处理优化, 视窗, PencilKit,新的手势识别.
  1. 核心技术: 一如既往, 优化了各个平台的核心APIs.
  • Accessibility(辅助行动不便的用户): Apple互换开发者重视accessibility. 使accessibility 特性容易被用户发现. 使得语言控制voice control, 通过简单设置不用手都可以打开.
  • 隐私: Core Location地址位置信息可以选择只用一次. 注册用户可以通过苹果注册服务,一键解决.
  • 机器学习: Apple拓展了组件能力(Vision, Natural Language, Speech ML frameworks). 这些新能力允许apps可以识别图片的特点, 文字识别, 处理音频等. CoreML提供了超过100 新模块类型model layer types,并运行开发者定制这些模块models.
  • Siri: Siri快捷键允许穿参数.
  • AR: ARKit 3 可以在模拟器中使用摄像头, 任务阻塞,和手势捕获. RealityKit 和 Reality Composer可以方便的把AR 特性集成到apps.
  • Metal: iOS 模拟器完美支持Metal apps(游戏使用GPU).

2. Great Developer Habits – Session 239

观看链接:Great Developer Habits – Session 239

这是综合了全球开发者的优秀开发习惯:

  1. 使有系统化Organize: 保持project感觉. 具体为文件分组,去掉所有的警告.
  2. 代码可追溯Track: 一定要用版本管理工具(Git). 使每次提交commit都要小,并且是相关联内容提交. commit提交的信息要描述清楚,想想这是写给未来的你看的.
  3. 文档化Document: 想想这是写给未来的你看的,注释好为什么要这么实现 写好接口文档也是一样的道理.
  4. 单元测试Test: 写好单元测试,就像你正在用你的App.
  5. 性能分析Analyze: 充分利用Xcode tools比如 Network Link Conditioner, the debug gauges and Instruments. 设置sanitizers 和 checkers并一直打开.
  6. 代码评审Evaluate: 代码相互评审,即使你是独立开发者,也要找朋友帮忙评审. Build it. Run the tests. Proofread校对.
  7. 解耦重构Decouple: 用packages 和 frameworks去解耦你的代码.
  8. 管理依赖Manage: 清晰数据的依赖关系,并有规划如果数据缺少会出现什么情况.

3. Introducing SwiftUI: Building Your First App – Session 204

在这里插入图片描述
观看链接:Introducing SwiftUI: Building Your First App – Session 204

SwiftUI: Less code. Better code. Everywhere.
更少的代码,更好的实现,所有平台通用。

当然要想深入学习SwiftUI, 还要多看下面的WWDC视频

  1. SwiftUI Essentials – Session 216
  2. Data Flow Through SwiftUI – Session 226
  3. Integrating SwiftUI – Session 231
  4. Building Custom View with SwiftUI – Session 237
  5. SwiftUI On All Devices – Session 240

4. Modern Swift API Design – Session 415

在这里插入图片描述
视频链接:Modern Swift API Design – Session 415
这个视频包含成熟的全用Swift实现的组件实践. 现在Swift提供的ABI (Application Binary Interface) 和 组件Module都稳定了. SwiftUI 和 RealityKit 就是两个杰出的例子.

5. What’s New in Xcode 11 – Session 401

在这里插入图片描述
视频链接:What’s New in Xcode 11 – Session 401
这个视频介绍Xcode 11的新特性. XCode 11版本控制,预览功能的画布canvas 和 助理编辑器assistant editor. 可以横向和纵向分身出多个工作空间.

6. Introducing Combine – Session 722

在这里插入图片描述
视频链接:Introducing Combine – Session 722
这个视频介绍Combine framework. 用Apple’s 官方描述 Combine “a unified, declarative API for processing values over time.” (一种统一的方式,声明式API去处理异步回调。) 如果是响应式编程的粉丝,会说已经有第三方库。Combine 是官方支持的异步线程处理,响应式编程.

Combine的术语Publishers, Subscribers 和 Operators. Publishers, 是结果或者错误的输出. Subscribers 注册到Publishers,为了能接收到结果或者错误信息. Operators相对于Publisher 和 Subscriber的中介, 把从 Publisher得到的信息,发送给Subscriber. 这就是Operators的双重身份,通过链式相应复杂的数据流.

如果想要多实践Combine, 推荐再看这个视频session 721, Combine in Practice.

7. Advances in UI Data Sources – Session 220

在这里插入图片描述
视频链接:Advances in UI Data Sources – Session 220
UITableView 或者 UICollectionView 的数据源更新performBatchUpdates()方法有时会出问题,现在用apply()新方法解决以前的问题。

8. What’s New in Swift – Session 402

在这里插入图片描述
视频链接:What’s New in Swift – Session 402
最大的特性就是ABI — Application Binary Interface — 从Swift 5.0开始稳定. Swift 5.1 引进 Module组件稳定,是的二进制包变小,变快。RunTime优化更快,使得 StringDictionary 的bridging performance桥接性能更好。Swift 5.0修改了strings的编译方式和编码改为UTF-8(替换掉以前的UTF-16). 与C APIs的交互更好,因为不再需要转换. String 和 NSString 之间的桥接速度更快, 提供了app的整体性能. 比如, SwiftNIO 提升20%的速度.
工具的优化, 比如官方支持Docker image镜像 和 Language Server Protocol (LSP) 在 SourceKit提供支持. 还有Swift UI.

9. Adopting Swift Packages in Xcode – Session 408

在这里插入图片描述
视频链接:Adopting Swift Packages in Xcode – Session 408

Xcode 11提供了类似于CocoaPods三方库管理工具Swift Package Manager (SPM) 管理依赖和开源库.
如果要创建自己的packages, 查看视频 session 410, Creating Swift Packages.

10. Introducing Sign In with Apple – Session 706

在这里插入图片描述
视频链接:Introducing Sign In with Apple – Session 706
通过苹果授权登录,流水线式的方便用户注册和登录。可以包含用户的隐私,更安全,还可以开启两步验证(比如密码登录成功以后,还需要推送验证码,或者手机验证码验证).

集成Apple登录服务,只要下面四步:

  1. 配置显示Apple登录按钮,可以选择不同样式.
  2. 当用户点击按钮, 创建并发送授权请求. 这里可以指定额外的用户信息,比如全名或者邮箱.
  3. 返回验证回调. 你会得到用户数据, 包括唯一的稳定的user ID 和 一个非机器人造假的用户凭证. 用这些用户数据填充到app.
  4. 相应并修改授权状态.

10+. LLDB: Beyond “po” – Session 429

在这里插入图片描述
视频链接:LLDB: Beyond “po” – Session 429
调试命令行工具LLDB. po命令 打印对象的描述. 你还可以定制化对象遵循协议CustomDebugStringConvertible.

p 命令打印非对象信息,比如数字、Bool类型等.

v命令是变量variable的别名, 它没有编译和执行代码. 这使得它快速执行,缺点是没有Runtime时变量的动态化.

LLDB 在 Xcode 11中现在用Python 3作为脚本引擎scripting engine.

10++. Advances in Collection View Layout – Session 215

在这里插入图片描述
视频链接:Advances in Collection View Layout – Session 215

Compositional Layout 简化Collection View的实现!
UICollectionViewCompositionalLayoutNSCollectionViewCompositionalLayout, 提供了新方式去创建布局layouts. 当你采取compositional布局, 你可以组合布局从小单元到大的部件,知道完成所有部件.

概念是有4中标准模块: items组成 groups, groups 组成 sections, sections组成最后的布局layout.

这节可以下载Demo代码!

参考

https://developer.apple.com/videos/play/wwdc2019/103/

https://developer.apple.com/videos/play/wwdc2019/239/

https://developer.apple.com/videos/play/wwdc2019/204/

https://developer.apple.com/videos/play/wwdc2019/216/

https://developer.apple.com/videos/play/wwdc2019/226/

https://developer.apple.com/videos/play/wwdc2019/231/

https://developer.apple.com/videos/play/wwdc2019/237/

https://developer.apple.com/videos/play/wwdc2019/240/

https://developer.apple.com/videos/play/wwdc2019/415/

https://developer.apple.com/videos/play/wwdc2019/401/

https://developer.apple.com/videos/play/wwdc2019/722/

https://developer.apple.com/videos/play/wwdc2019/721/

https://developer.apple.com/videos/play/wwdc2019/220/

https://developer.apple.com/videos/play/wwdc2019/408/

https://developer.apple.com/videos/play/wwdc2019/410/

https://developer.apple.com/videos/play/wwdc2019/706/

https://developer.apple.com/videos/play/wwdc2019/429/

https://developer.apple.com/videos/play/wwdc2019/215/

https://www.raywenderlich.com/3868932-wwdc-2019-top-10-videos

https://developer.apple.com/videos/wwdc2019

发布了127 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zgpeace/article/details/103253812