本文首发于 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

  1. Concurrency

    • async sequence,异步序列
    • clock 类型
    • actor
    • distributed actor
  2. Swift Regex
  3. Generic
    • some 关键字, 简化函数的泛型参数定义
    • any 关键字, 简化泛型属性定义
  4. Swift Package Manager
    • Package Plugins(可以用 Swift 开发,支持 SwiftLint, SwiftFormat, 自动生成代码等功能的插件)
  5. SwiftUI
    • 新的导航 API: NavigationStack, NavigationSplitView, .navigationDestination(for:_)

      -网格布局 API
    • 自定义布局 API
    • 半屏模态框 HalfSheets
    • 基于 Transferable 协议的 ShareSheet
    • Swift Charts 强大易用的图表框架,支持 Accessibility
    • ViewThatFits,根据屏幕决定横向、纵向布局
    • MenuBarExtra(macOS),任务栏图标

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 呢。。。

  • 最后,根据您的工作需要来选择适合您的内容即可,比如:WKWebviewPhotoKit 等等

总结

时光飞逝,眨眼又是一年呢~

众所周知,苹果的创新越来越少,越来越弱,不知下年该如何是好

俗话说,技多不压身。作为苹果开发者,我们要居安思危,努力扩展自己的技能栈,以备不时之需。

Anyway,一起期待下一年的 WWDC 吧!

参考内容:

WWDC22

Ficow 陪你看 WWDC 2022的更多相关文章

  1. [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】

    感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...

  2. C#操作INI文件(明天陪你看海)

    C#操作INI文件 在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据 ...

  3. 看不到Harbor我也睡不着觉啊

    上午打球,下午陪小孩子看上海科技展,晚上搞定harbor. 完美!!!:) 参考文档: https://www.dwhd.org/20161023_110618.html http://blog.cs ...

  4. 趁热来一波,WWDC 2016 iMessage App开发

    转自:http://www.jianshu.com/p/be79b8729bf8 WWDC 2016关于iMessage App的两个视频已经放出(iMessage Apps and Stickers ...

  5. 并发王者课-铂金8:峡谷幽会-看CyclicBarrier如何跨越重峦叠嶂

    欢迎来到<并发王者课>,本文是该系列文章中的第21篇,铂金中的第8篇. 在上一篇文章中,我们介绍了CountDownLatch的用法.在协调多线程的开始和结束时,CountDownLatc ...

  6. CallKit iOS 教程

    原文:CallKit Tutorial for iOS 作者:József Vesza 译者:kmyhy 对 VoIP App 开发者来说,iOS 的支持并不友好.尤其是它的通知发送这一块,太糙了.你 ...

  7. 成长为 iOS 大 V 的秘密

    成长为 iOS 大 V 的秘密   前言 毫不谦虚地说,我是国内 iOS 开发的大 V.我从 2011 年底开始自学 iOS 开发,经过 3 年时间,到 2014 年底,我不但写作了上百篇 iOS 相 ...

  8. 微信为什么发布 Mac 版?

    因为 Mac 就是好啊就是好啊,就是好…… 打完收工,谢谢,鼓掌 piapiapia……晚安! 这么写在京城行走会不会挨板砖呢?头像已经印到书上满世界的发出去了,虽然考虑到行走江湖求一个稳字,我还特意 ...

  9. iOS——学习网址收集+如何提高iOS开发技能

    1 一个比系统自带的终端好用的软件:http://www.iterm2.com 2 学习和遇到技术问题可以去的网站: CocoaChina      http://developer.cocoachi ...

  10. DevOps is dirty work - CI drives you crazy

    一直很想谈谈Continuous Integration(CI),持续集成. 就在不久前一次朋友聚会上,一个刚刚跳槽到一家创业公司的朋友跟我抱怨说他们没有CI,没有code review,要做点事太累 ...

随机推荐

  1. CF1425F Flamingoes of Mystery 题解

    题目传送门 前置知识 前缀和 & 差分 解法 令 \(sum_k=\sum\limits_{i=1}^{k} a_k\).考虑分别输入 \(sum_2 \sim sum_n\),故可以由于差分 ...

  2. Nologging到底何时才能生效

    转了一篇EYGLE的文章 -------------------------------------------------- 最初的问题是这个帖子: http://www.itpub.net/sho ...

  3. 摸鱼快报:golang net/http中的雕虫小技

    以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技. 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:30 ...

  4. python3调用nmap封装

    python3调用nmap封装; 外部处理好参数后直接调用; #!/usr/bin/env python # -*- coding: utf-8 -*- """ 代码修改 ...

  5. 压测模式该怎么选?RunnerGo五大压测模式详解

    在做性能测试时需要根据性能需求配置不同的压测模式,如:阶梯模式.使用jmeter时我们需要安装插件来配置测试模式,RunnerGo内嵌了压测模式这一选项更方便使用,今天来看看RunnerGo的几种压测 ...

  6. C++ 时间复杂度

    看到网上一些资料的案例不全,所以自己开个来复习. O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<-<O(2^n)< ...

  7. django学习第二天---django视图系统,基于类的视图写法,FBV和CBV加装饰器

    django视图系统 request对象 常用属性和方法 print(request) #wsgirequest对象 print(request.path) #请求路径 /index/ print(r ...

  8. 【Azure Function】示例运行 python durable function(model V2)

    问题描述 参考官方文档(使用 Python 创建你的第一个持久函数:https://learn.microsoft.com/zh-cn/azure/azure-functions/durable/qu ...

  9. 【Azure Function】修改Function执行的Timeout时间

    问题描述 Azure Function默认的Timeout时间是否可以调整呢? 问题解答 可以的,根据创建Function的时候选择的定价层不同,Function 默认的Timeout时间也不同. 消 ...

  10. C#多线程(7):手动线程通知

    目录 区别与示例 ManualResetEvent 类 ManualResetEventSlim 区别与示例 AutoResetEvent 和 ManualResetEvent 十分相似.两者之间的区 ...