说明

时间对每个人都是稀缺的,这里总结了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

WWDC2019最值得看的十个视频相关推荐

  1. 资源 | 一文掌握机器学习所有值得看的视频、课程、工具

    越来越多的开发者和学习者转投人工智能,但很多人鉴于跨行的难度,并不知道如何开始学习人工智能和机器学习.本文是作者Arun Agrahri整理的一些优秀文章,内容包括启发阅读和学习资源以及工具,希望能对 ...

  2. 软件:分享9款实用电脑软件,值得看一看

    今天给大家分享9款实用电脑软件,值得看一看. 01.ArcTime 下载地址:https://arctime.org/ 这是一款特别好用的字幕制作软件. 只需导入视频和字幕文件. 它的制作模式不仅支持 ...

  3. 4K投影仪哪款性价比最高,当贝X3 Pro高亮128G存储618值得看

    2022年的618预售已经开始了,今年618大家都看了哪些家用投影仪品牌呢,哥是重点关注4K投影仪,作为1名资深数码玩家,4K分辨率投影仪一直都考虑,2022年618购物节哥看了这款万元以内4K超高清 ...

  4. 国外python经典书籍_2019学习Python最值得看的七本书

    2019学习Python最值得看的七本书 发布时间:2018-12-04 15:38, 浏览次数:496 , 标签: Python 大概是一时改变不了之前的学习习惯,所以很多Python小白都来问我有 ...

  5. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决

    桔子浏览器电脑版看不了视频怎么办?有很多桔子浏览器用户反映,在打开浏览器想要观看视频的时候,却无法播放,今天通过这篇文章给大家讲讲怎么处理. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决 桔 ...

  6. 一个叫花子的故事(十个人看完十个人开悟)

    一个叫花子的故事(十个人看完十个人开悟) 从前有一个叫花子,每天出门乞讨,他很想过正常人的生活,于是他把乞讨粮食积攒起来.可是他积攒了好多年,他的粮仓还是只有一点米. 一天夜里,他悄悄地躲在角落,果然 ...

  7. 刚看了一个视频,介绍了实体店十几种线上线下引流方法

    刚看了一个视频,介绍了实体店十几种线上线下引流方法,学习引流方法固然重要. 但是,还要明确的是引流方法要为引流目标服务的,每种方法有它的最佳适用条件. 这时,必然要考虑营销系统闭环,结合实体店的资源( ...

  8. 关于新版VLC无法看RTSP的视频的问题-转

    其实关于新版VLC无法看RTSP的视频的问题早在很久之前就已经有人跟我提过了,而我写的EzStreamSvr和EasyIPCam都是用RTSP来streaming 视频的,因此又有一些朋友来把这个问题 ...

  9. 2018年Github上值得学习的十个热门项目

    关注「实验楼」,每天分享一个项目教程 2018年Github上值得学习的十个热门项目,了解一下- 正文共:1065 字 预计阅读时间:3 分钟 项目一 julia(语言) 简介:julia是一种新的. ...

  10. 一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白

    一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白 - 一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白 因为你不喜欢我 所以你不明白 我经常去看你空间的意义 只想了解你的最新情况 因为你不喜欢 ...

最新文章

  1. 安卓Design包之AppBar和Toolbar的联用
  2. mysql8.0登录不上去怎么回事_搞笑GIF:女朋友非要给我秀一手厨艺,不过这房子是怎么回事!...
  3. SAP RETAIL WA03 基于分配表创建PO报错 - No work list could be selected –
  4. 管理全局包、缓存和临时文件夹
  5. windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
  6. “腾讯也感受到危机了!”
  7. 不同发行版linux介绍
  8. 服务器应用层次划分,服务器按应用层次划分的话可以分为哪几种?
  9. distpicker.js 三级联动,修改地址时设置默认值
  10. ARM920T虚拟地址原理分析及实现
  11. 计算机机房kvm系统配件,KVM设备在机房管理改造中的解决方案
  12. Securecrt 配色方案
  13. 游戏显示无法连接服务器怎么回事,Game Center无法连接服务器怎么办 五种方法任你选择...
  14. 模拟动态登录,获取cookie和图片验证码登录(AcFun和豆瓣)
  15. Font Awesome html源码,如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码_html/css_WEB-ITnose...
  16. 真的不建议学Python,煞笔才学习Python,学Python难?两个小时足够搞定
  17. Java数据类型问题
  18. LCD1602原理驱动代码及例程
  19. **潘老师 领导力\管理效能提升专家**
  20. F#,印度数学教育与优秀编程

热门文章

  1. python多线程实现同时下载_Python实现多线程下载
  2. 爱立顺m33+android+4.4.2,更美丽更流畅 爱立顺M33升级Android 4.4.2
  3. 【转】运用jieba库分词
  4. 大型论坛系统环境搭建(20万日IP负载平衡实战)–Nginx+Apache2+PHP+MySQL
  5. StylesheetLanguage--如何使用Less--前端样式语言
  6. Coder Essential之编程语言学习知识点纲要
  7. FreeMarker整合Spring 3(转)
  8. Model to Text工具Acceleo使用教程(七)——模板服务
  9. 四、ip classless与默认路由
  10. SpringBoot 轻量级英文版个人博客 flame