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的精华,如果没有时间,那就看这一部就好了。
今年描述三个主要变化如下:
- 开发效率: 爆炸性推出 SwiftUI.
- SwiftUI是开发更像玩一样简单.
- Xcode显著提高了支持live 开发, live 预览, 新的布局, 提高文档辅助, 测试计划等.
- Swift ABI(应用系统二进制接口application binary interfaces) 和 Module模块化稳定.
- 平台: 平台新特性.
- macOS Catalina 包含 Catalyst, 它使iPad apps可以运行在Mac. Apple把系统分区权限改为只读。 把应用的二进制跟应用数据分开,提高了安全性和可靠性.
- watchOS 6 宣布独立于手机平台. 现在可以独立开发watch app.
- iOS 13 特性:快速输入键盘,黑暗模式, 分享按钮, 卡片视图, 功能色, 自适应性材料, 新的符合类库a new library of symbols.
- iPadOS 特性:多任务处理优化, 视窗, PencilKit,新的手势识别.
- 核心技术: 一如既往, 优化了各个平台的核心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
这是综合了全球开发者的优秀开发习惯:
- 使有系统化Organize: 保持project感觉. 具体为文件分组,去掉所有的警告.
- 代码可追溯Track: 一定要用版本管理工具(Git). 使每次提交commit都要小,并且是相关联内容提交. commit提交的信息要描述清楚,想想这是写给未来的你看的.
- 文档化Document: 想想这是写给未来的你看的,注释好为什么要这么实现 写好接口文档也是一样的道理.
- 单元测试Test: 写好单元测试,就像你正在用你的App.
- 性能分析Analyze: 充分利用Xcode tools比如 Network Link Conditioner, the debug gauges and Instruments. 设置sanitizers 和 checkers并一直打开.
- 代码评审Evaluate: 代码相互评审,即使你是独立开发者,也要找朋友帮忙评审. Build it. Run the tests. Proofread校对.
- 解耦重构Decouple: 用packages 和 frameworks去解耦你的代码.
- 管理依赖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视频
- SwiftUI Essentials – Session 216
- Data Flow Through SwiftUI – Session 226
- Integrating SwiftUI – Session 231
- Building Custom View with SwiftUI – Session 237
- 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优化更快,使得 String
和 Dictionary
的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登录服务,只要下面四步:
- 配置显示Apple登录按钮,可以选择不同样式.
- 当用户点击按钮, 创建并发送授权请求. 这里可以指定额外的用户信息,比如全名或者邮箱.
- 返回验证回调. 你会得到用户数据, 包括唯一的稳定的user ID 和 一个非机器人造假的用户凭证. 用这些用户数据填充到app.
- 相应并修改授权状态.
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的实现!
UICollectionViewCompositionalLayout
和 NSCollectionViewCompositionalLayout
, 提供了新方式去创建布局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最值得看的十个视频相关推荐
- 资源 | 一文掌握机器学习所有值得看的视频、课程、工具
越来越多的开发者和学习者转投人工智能,但很多人鉴于跨行的难度,并不知道如何开始学习人工智能和机器学习.本文是作者Arun Agrahri整理的一些优秀文章,内容包括启发阅读和学习资源以及工具,希望能对 ...
- 软件:分享9款实用电脑软件,值得看一看
今天给大家分享9款实用电脑软件,值得看一看. 01.ArcTime 下载地址:https://arctime.org/ 这是一款特别好用的字幕制作软件. 只需导入视频和字幕文件. 它的制作模式不仅支持 ...
- 4K投影仪哪款性价比最高,当贝X3 Pro高亮128G存储618值得看
2022年的618预售已经开始了,今年618大家都看了哪些家用投影仪品牌呢,哥是重点关注4K投影仪,作为1名资深数码玩家,4K分辨率投影仪一直都考虑,2022年618购物节哥看了这款万元以内4K超高清 ...
- 国外python经典书籍_2019学习Python最值得看的七本书
2019学习Python最值得看的七本书 发布时间:2018-12-04 15:38, 浏览次数:496 , 标签: Python 大概是一时改变不了之前的学习习惯,所以很多Python小白都来问我有 ...
- 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决
桔子浏览器电脑版看不了视频怎么办?有很多桔子浏览器用户反映,在打开浏览器想要观看视频的时候,却无法播放,今天通过这篇文章给大家讲讲怎么处理. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决 桔 ...
- 一个叫花子的故事(十个人看完十个人开悟)
一个叫花子的故事(十个人看完十个人开悟) 从前有一个叫花子,每天出门乞讨,他很想过正常人的生活,于是他把乞讨粮食积攒起来.可是他积攒了好多年,他的粮仓还是只有一点米. 一天夜里,他悄悄地躲在角落,果然 ...
- 刚看了一个视频,介绍了实体店十几种线上线下引流方法
刚看了一个视频,介绍了实体店十几种线上线下引流方法,学习引流方法固然重要. 但是,还要明确的是引流方法要为引流目标服务的,每种方法有它的最佳适用条件. 这时,必然要考虑营销系统闭环,结合实体店的资源( ...
- 关于新版VLC无法看RTSP的视频的问题-转
其实关于新版VLC无法看RTSP的视频的问题早在很久之前就已经有人跟我提过了,而我写的EzStreamSvr和EasyIPCam都是用RTSP来streaming 视频的,因此又有一些朋友来把这个问题 ...
- 2018年Github上值得学习的十个热门项目
关注「实验楼」,每天分享一个项目教程 2018年Github上值得学习的十个热门项目,了解一下- 正文共:1065 字 预计阅读时间:3 分钟 项目一 julia(语言) 简介:julia是一种新的. ...
- 一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白
一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白 - 一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白 因为你不喜欢我 所以你不明白 我经常去看你空间的意义 只想了解你的最新情况 因为你不喜欢 ...
最新文章
- 安卓Design包之AppBar和Toolbar的联用
- mysql8.0登录不上去怎么回事_搞笑GIF:女朋友非要给我秀一手厨艺,不过这房子是怎么回事!...
- SAP RETAIL WA03 基于分配表创建PO报错 - No work list could be selected –
- 管理全局包、缓存和临时文件夹
- windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
- “腾讯也感受到危机了!”
- 不同发行版linux介绍
- 服务器应用层次划分,服务器按应用层次划分的话可以分为哪几种?
- distpicker.js 三级联动,修改地址时设置默认值
- ARM920T虚拟地址原理分析及实现
- 计算机机房kvm系统配件,KVM设备在机房管理改造中的解决方案
- Securecrt 配色方案
- 游戏显示无法连接服务器怎么回事,Game Center无法连接服务器怎么办 五种方法任你选择...
- 模拟动态登录,获取cookie和图片验证码登录(AcFun和豆瓣)
- Font Awesome html源码,如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码_html/css_WEB-ITnose...
- 真的不建议学Python,煞笔才学习Python,学Python难?两个小时足够搞定
- Java数据类型问题
- LCD1602原理驱动代码及例程
- **潘老师 领导力\管理效能提升专家**
- F#,印度数学教育与优秀编程
热门文章
- python多线程实现同时下载_Python实现多线程下载
- 爱立顺m33+android+4.4.2,更美丽更流畅 爱立顺M33升级Android 4.4.2
- 【转】运用jieba库分词
- 大型论坛系统环境搭建(20万日IP负载平衡实战)–Nginx+Apache2+PHP+MySQL
- StylesheetLanguage--如何使用Less--前端样式语言
- Coder Essential之编程语言学习知识点纲要
- FreeMarker整合Spring 3(转)
- Model to Text工具Acceleo使用教程(七)——模板服务
- 四、ip classless与默认路由
- SpringBoot 轻量级英文版个人博客 flame