Ficow 陪你看 WWDC 2022
本文首发于 Ficow Shen's Blog,原文地址: WWDC22 - Xcode 14 新特性。
内容概览
- 前言
- 用好过滤器
- Recap,节约你的宝贵时间
- Essential,取其精华
- 必看内容
- iOS 开发推荐内容
- 总结
前言
去年,Ficow 陪你看 WWDC 2021。今年,同样不能缺席呢~
首先, 这是 WWDC 2022 的完整视频列表,点击直达。足足有180多个视频,想全部看完还是需要耗费很多的精力。
所以,Ficow 在这里为你提供一些实战建议。
用好过滤器
官方已经为视频分了类,而且有基于平台的分类。如果你不是 macOS 开发者,那就果断无情地过滤掉 macOS 的东西吧!
Recap,节约你的宝贵时间
如果你不想逐个检查这 100 多个视频涉及到什么技术点,那么 Recap 会是一个比较好的选择。
清除所有的 filter,输入关键字 recap
,你就会看到这 5 个超短的视频。--> 点击直达
你说啥?你连这 5 个超短的视频都不想看了?
行吧,那 Ficow 就做点善事,把小草稿本给你瞄一眼:
Day 1 Recap
- iOS 16
- 全新的可自定义锁屏界面,加入了Widget,还优化了通知
- Message支持修改、撤回已发送的信息
- 用 SharePlay 和朋友共享视频内容
- 相册支持一键扣图,而且可以很便捷地粘贴到其他App
- 基于 iCloud 的共享相片库,让你更方便地与亲朋共享照片
- CarPlay 开始适配大长屏
- 地图允许设置最多15个途经点
- watchOS 9
- 锻炼App支持显示心率区间,允许自定义锻炼项目
- 健康App里增加了 Medications 用药提醒功能
- 数个新表盘
- macOS
- M2 芯片,8-10 核!!!内置于新款 MacBook Air 和 MacBook Pro
- 新系统版本 Ventura
- 强化了 Spotlight,支持图片搜索
- Stage Manager,更便捷地管理多个窗口
- Email 支持定时发送和撤销
- Continuity Camera,更方便地拍摄演示视频
- iPadOS 16
- Stage Manager
- 强大的多应用、多设备协作功能
- 一堆新的框架和API
- Shared with you API,分享
- App Intents API,Siri指令
- Live Activities API,锁屏通知
- WeatherKit,天气预报
- Metal 3,游戏引擎
- Swift Charts,强大易用的 SwiftUI 图表框架
- Swift Regex,Swift 正则表达式框架
- Xcode cloud,苹果官方的CI & CD,有很长的免费试用期
- 2022 Apple Design Awards
Day 2 Recap
SwiftUI 支持新的导航方式
Xcode 14 新特性
为 Unity 游戏项目添加 Apple 框架的新插件
RoomPlan,强大的 3D 室内扫描工具
SF Symbols 着色技巧
全新的 Push to Talk iOS 框架,支持更便捷的多设备对讲
Package plugnins,其实就是用Swift写 Xcode 插件
Day 3 Recap
- 更好用的 App Shortcuts
- 在 iPad 上打造桌面级的 App
- 全新的 iOS 相机特性,比如:调节光源
- 更多 SwiftUI 布局模式,网格、自定义等等
Day 4 Recap
- iPad SwiftUI 新布局模式,以及更好的状态恢复、deep-linking
- SwiftUI 与 UIKit 混用
- Vision 视觉识别框架
- SharePlay,在FaceTime中和对方一起刷剧、听歌、画画或者共享屏幕
Day 5 Recap
- 如何让 App 更省电
- 在 Xcode 中用开发基于 Swift 的服务端应用
- Shazam Kit,音乐识别工具
- 如何构建 iPadOS 上的多窗口应用
- Apple 设备互联
Essential,取其精华
这是官方提供的一个集合分类,所以参考价值比较高,Recap 系列也包含在内。
通过 Essential 集合中的视频,你可以掌握一些官方认为最重要的内容。
必看内容
Keynote
老规矩,Keynote 主要讲产品层面的更新,重点在于介绍产品功能的改进。这部分内容很适合开发者,也适合产品经理、设计师等岗位的朋友去观看。
不过,相比于 WWDC 2021,个人认为 WWDC 2022 没有太多产品层面的亮点。技术方面的更新偏多,尤其是各种新的 framework, API。所以,开发者们可以重点关注一下。
Platforms State of the Union
这些是 Platforms State of the Union 的大致内容,全部是技术更新:
Vision for Platform
- Concurrency
async
sequence,异步序列- clock 类型
actor
distributed actor
- Swift Regex
- Generic
some
关键字, 简化函数的泛型参数定义any
关键字, 简化泛型属性定义
- Swift Package Manager
- Package Plugins(可以用 Swift 开发,支持 SwiftLint, SwiftFormat, 自动生成代码等功能的插件)
- SwiftUI
- 新的导航 API: NavigationStack, NavigationSplitView, .navigationDestination(for:_)
-网格布局 API - 自定义布局 API
- 半屏模态框 HalfSheets
- 基于 Transferable 协议的 ShareSheet
- Swift Charts 强大易用的图表框架,支持 Accessibility
ViewThatFits
,根据屏幕决定横向、纵向布局- MenuBarExtra(macOS),任务栏图标
- 新的导航 API: NavigationStack, NavigationSplitView, .navigationDestination(for:_)
System Experience
- 自定义锁屏的 WidgetKit
- Circular 样式
- Rectangular 样式
- Inline 样式
- LiveActivities,锁屏通知
- iOS, macOS, watchOS 系统间协作
- Messages Collaboration API(share sheet, drag and drop, message, facetime)
- SiriKit, App Intents framework(Siri, shortcuts, app shortcuts)
- Passkeys,免密码验证
- WebAuthn API
- AuthenticationServices framework API,支持非苹果平台
- iPadOS 16
- DriverKit, 让 iPadOS 像 macOS 一样支持各种外设
- watchOS
- CallKit framework,允许第三方App像FaceTime和打电话一样进行通讯
- 广告和隐私
- SKAdNetwork 框架
- ScanKit, RoomPlan(AR, LiDAR)
- Focus Filter API(基于 App Intent framework),基于用户的专注模式来切换 App 的内容
- Metal 3 游戏引擎
- MapKit,强化了 3D 视图,增加了开放的 API
- Maps Server APIs
- WeatherKit
- 支持原生和 RESTful API
- 开发者会员 500000 API calls/month
- VisionKit
- LiveText API,帮助开发者提取图像中的文本
- Data Scanner API,扫描文本、条形码等内容
iOS 开发推荐内容
东西太多了,咱们 iOS 开发者还是要有的放矢才行呢,对吧?
帮你做到事半功倍是 Ficow 著文的根本目的,所以这个列表供你参考:
首先,前文中提到过的 Recap 和 Essential 内容可以帮助你快速消化 WWDC 2022 的主要内容;
其次,了解已有框架的更新,针对新系统进行查漏补缺,点击直达;
然后,工欲善其事必先利其器,掌握常用工具的新特性往往可以帮你提高工作效率;
请注意,不要勾选 iOS,否则过滤会失效。这个过滤器貌似有 bug 呢。。。
总结
时光飞逝,眨眼又是一年呢~
众所周知,苹果的创新越来越少,越来越弱,不知下年该如何是好
俗话说,技多不压身。作为苹果开发者,我们要居安思危,努力扩展自己的技能栈,以备不时之需。
Anyway,一起期待下一年的 WWDC 吧!
参考内容:
WWDC22
Ficow 陪你看 WWDC 2022的更多相关文章
- [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】
感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...
- C#操作INI文件(明天陪你看海)
C#操作INI文件 在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据 ...
- 看不到Harbor我也睡不着觉啊
上午打球,下午陪小孩子看上海科技展,晚上搞定harbor. 完美!!!:) 参考文档: https://www.dwhd.org/20161023_110618.html http://blog.cs ...
- 趁热来一波,WWDC 2016 iMessage App开发
转自:http://www.jianshu.com/p/be79b8729bf8 WWDC 2016关于iMessage App的两个视频已经放出(iMessage Apps and Stickers ...
- 并发王者课-铂金8:峡谷幽会-看CyclicBarrier如何跨越重峦叠嶂
欢迎来到<并发王者课>,本文是该系列文章中的第21篇,铂金中的第8篇. 在上一篇文章中,我们介绍了CountDownLatch的用法.在协调多线程的开始和结束时,CountDownLatc ...
- CallKit iOS 教程
原文:CallKit Tutorial for iOS 作者:József Vesza 译者:kmyhy 对 VoIP App 开发者来说,iOS 的支持并不友好.尤其是它的通知发送这一块,太糙了.你 ...
- 成长为 iOS 大 V 的秘密
成长为 iOS 大 V 的秘密 前言 毫不谦虚地说,我是国内 iOS 开发的大 V.我从 2011 年底开始自学 iOS 开发,经过 3 年时间,到 2014 年底,我不但写作了上百篇 iOS 相 ...
- 微信为什么发布 Mac 版?
因为 Mac 就是好啊就是好啊,就是好…… 打完收工,谢谢,鼓掌 piapiapia……晚安! 这么写在京城行走会不会挨板砖呢?头像已经印到书上满世界的发出去了,虽然考虑到行走江湖求一个稳字,我还特意 ...
- iOS——学习网址收集+如何提高iOS开发技能
1 一个比系统自带的终端好用的软件:http://www.iterm2.com 2 学习和遇到技术问题可以去的网站: CocoaChina http://developer.cocoachi ...
- DevOps is dirty work - CI drives you crazy
一直很想谈谈Continuous Integration(CI),持续集成. 就在不久前一次朋友聚会上,一个刚刚跳槽到一家创业公司的朋友跟我抱怨说他们没有CI,没有code review,要做点事太累 ...
随机推荐
- 【LGR-153-Div.2】梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1
[LGR-153-Div.2]梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1 \(T1\) luogu P9577 「Cfz Round 1」Dead Cell ...
- 【Unity3D】UGUI之布局组件
1 概述 布局组件主要有:水平布局(HorizontalLayoutGroup).垂直布局(VerticalLayoutGroup).网格布局(GridLayoutGroup),用于约束子控件的布 ...
- Java并发编程实例--8.在线程中处理未检查异常
java中有两类异常: 已检查异常:这类异常编译器要求开发者必须在代码中通过throws去处理. 例如:IOException和ClassNotFoundException. 未检查异常:不必显式的在 ...
- Nacos搭建单机实例
Nacos是阿里开源的微服务架构组件,既可以用作服务注册中心,也可用作配置中心. 虽然Nacos的官方文档也有关于如何部署的说明,但是个人觉得不够详细和连续,故本文将阐述在单机环境实际搭建Nacos环 ...
- java怎么打印一个对象的内存地址
在Java一般使用HashCode来代表对象的地址,但是两个相同的对象就不行了,两个相同的对象的hashcode是相同的. 如果要对比两个相同的对象的地址可以使用,System.identityHas ...
- 3dMax建模笔记(一):介绍3dMax和创建第一个模型Hello world
前言 三维模型,虽然淘宝上一抓一大把,但是三维开发人员最好还是具备一定基础的建模能力.本文用hello world模型描述基本的3dMax建模流程. 3dMax 3D Studio Max ...
- udp循环发消息,sockerserver,文件校验,服务器合法性校验---day29
1.udp循环发消息 # ### 客户端 import socket sk = socket.socket(type=socket.SOCK_DGRAM) while True: #发送消息 mess ...
- npm模块全局安装后无法使用解决方案
好家伙 npm模块全局安装后无法使用 估计是少配了环境变量 1.使用命令: npm config get prefix 找到全局包的安装位置 2.随后我们右键"我的电脑"打 ...
- Java是解释型语言么
基础概念 JVM虚拟机会将.java类文件编译成.class文件--字节码文件,这大家都知道. 代码运行时还需要将.class字节码文件翻译成机器码才能执行. 解释执行:将编译好的字节码一行一行地翻译 ...
- 【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
问题描述 C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间? Redis维护说明: Redis 服务维护时,会把副本节点提升为主节点,且旧主节点关闭现有连接时,这个时候, ...