# 老司机 iOS 周报 #207 | 2022-07-04 #3509
Damonvvong
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
《WWDC22 内参》
🌟 【WWDC22 10078】降低网络延迟:让你的 App 变得更快
如何让 App 变得更快,对于开发者来说是一个永恒的课题。2021 年,苹果给大家分享了许多网络延迟优化相关的理论知识,而今年,苹果在去年的基础上,又为我们带来了这一篇颇具实战指导意义的分享,从客户端侧、服务端侧、网络协议侧三个方面入手提供了一系列行之有效的建议,帮助开发者们更好的分析和改善应用的网络延迟状况,从而让你的 App 变得更快。
🌟 【WWDC22 110427】What's new in Xcode
本文主要从 Xcode 14 功能上的更新以及体积性能的改进入手,通过简单 Demo 的演示,分享此次 Xcode 令人振奋的一些更新。本文将主要聚焦 Xcode 本身的性能优化提升、开发者效率提升以及其他新增功能这几个角度,通过对这些更新的了解,相信会对大家的日常工作开发有很大的帮助。
🌟 【WWDC22 110362】快速链接:提高构建和启动耗时
本 session 是由苹果链接器团队的首席工程师 Nick Kledzik 带来的关于如何实现快速链接的分享。主要介绍了苹果近期在静态链接和动态链接方面的一系列优化,同时帮助大家理解链接过程中的底层细节,让大家可以提升自己 App 的静态和动态链接性能。
🌟 【WWDC22 110355】Meet Swift Async Algorithms
本文通过阅读源码的方式,来深入理解苹果官方 Async Algorithms 实现逻辑。全文可以分为三部分:
🌟 【WWDC22 110351】使用 Swift 并发消除数据竞争
本文主要回顾了在 Swift 5.5 中引入的 Sendable 协议和用法,同时介绍了 Swift 5.7 编译器中基于 Sendable 协议实现的边界检查,防止在任务切换或者 Actor 切换时造成的数据竞争。探讨了低级数据竞争( low-level data race ),也探讨了如何通过在 Swift 并发中实现事务原子性从而防止高级数据竞争( high-level data race ),同时讲述了如何在安全的并发环境中保持代码逻辑的执行顺序。
新手推荐
🐕 iOS内存分析之Memory Graph
@老驴:Memory Graph 是 iOS 开发中经常用到的非常好用的工具。对于一些比较难 debug 的内存泄露类型的 bug 来说,可以做到事半功倍的效果。这篇文章介绍了怎么样使用 Memory Graph,也包括了内存泄露的分析的基础分析方法,如果你是刚接触 iOS 开发的话,不妨来读一读。
文章
🐎 What Apple might do with distributed computing
@Smallfly:本文针对 Swift 不断迭代的并发模型,提出了对苹果在分布式计算领域的发展设想。作者期望苹果系统的跨进程通信能力,能复用在跨设备通信上,来提高苹果设备的协作性。并例举了分布式计算能解决的两个现存问题,一个是 Siri 唤起多设备,设备不能统一化决策问题;另一个是 HomeKit 数据共享问题。
🐎 Existential any in Swift explained with code examples
@享耳先森:在 Swift 5.6 中,SE-335 引入了
existential any
,Swift 5.7 对其进行了增强。本文详细介绍了any
关键词具体用法、和some
的差异及对性能的影响。🐕 如何持续突破性能表现?DX 性能优化策略详解
@Barney 本文介绍淘宝乃至整个阿里集团内广泛使用的 Native 动态化方案 DinamicX,一步步带我们揭开它的神秘面纱,文章干货比较密集,需要仔细品读。
🐢 使用 LLVM
@anotheren:来自戴铭的 LLVM 系列文章,目前已更新至代码真实使用情况的篇章,介绍了如何使用 LLVM 低成本地检查代码使用情况。如果你也需要检查代码的新陈代谢来控制包体积,不妨看看这篇文章。
🐎 Some keyword in Swift: Opaque types explained with code examples
@Damien: some 关键词是 Swift 5.1 的新特性,它的作用是允许你在不定义具体类型的情况下描述预期的返回类型,在 Swift 中可帮助简化代码并提高可读性。同时在 Swift 5.7 也引入了许多改进并且编译器也可以进行代码优化,本文作者细心整理了使用 some 的例子和注意事项,想必看了本文之后能对 some 的理解和使用更上一层楼。
🐎 Dutter | 前车之鉴:聊聊钉钉 Flutter 落地桌面端踩过的“坑”
@老峰:本文主要介绍一下钉钉 Flutter 业务灰度过程中,在桌面端遇到并处理过的几个 FlutterEngine 层面的 Bug。具体包含以下内容:
Mac 端:
FlutterEngine 退出之后内存泄漏问题;
FlutterEngine shutdown 阶段死锁问题;
低版本 macOS OpenGL 析构阶段 Crash 问题;
Windows 端:
Win7 设备渲染模块「Crash + 残影」问题;
FlutterPlugin 注册阶段野指针 Crash;
Flutter Window 可见性变化之后页面白屏。
《Dutter 系列文章》分享了钉钉在跨四端方框架的技术实践与踩坑经验,共分为上、下两篇,上篇内容可点击《钉钉 Flutter 跨四端方案设计与技术实践》,感兴趣的小伙伴建议阅读。
🐕 Flutter 渲染性能问题分析
@EyreFree:Flutter 有很多优点,虽然它在渲染性能上有不少缺陷,但是某种程度上,某些缺陷也是为了实现更高层次的设计目标而不得不承受的结果。这篇文章就是对比 Web (Chromium) 和 Native (Android),对 Flutter 的渲染性能问题进行深入分析,特别是分析惯性滚动性能糟糕的原因。并且提供了一些优化思路和优化结果的分析数据,对 Flutter 性能优化感兴趣的朋友不要错过。
🐎 信息安全 | 互联网时代,如何建立信任?
文章从信息安全是什么说起,到为什么,到怎么做,脉络清晰,层层递进,最后还聊了一些相关的应用加深理解。
通过文章可以让读者回答并理解以下问题:
文章的终极目标是:当我们在遇到密码学相关问题时,不再恐惧和迷惑。
工具
Git 相关
@红纸: lazygit 是一款 GUI 化的 Git 终端交互工具,其界面简洁,通过快捷键就能触达各个指令功能,实属是键盘控的福音了~
约定式提交提供了一种提交 git commit message 的规范化里面,旨在提供「一种用于给提交信息增加人机可读含义的规范」,举例用 "feat(Person): Submit new parameters" 来提供人机可读的交互,feat 代表新功能 (Person) 则代表 Person 作用域,后面则是具体的提交说明。使用约定式提交,我们还可以利用 CI/CD 来自动化生成 CHANGELOG,包括我们 SDK 的 Release Note 都可以这么去做。git-cz 则是一款非常优秀的引导使用约定式提交工具。
WWDC22 内参更新
🌟 【WWDC22 10074】AppKit 框架的新特性
AppKit 是 macOS 应用的核心框架之一。WWDC22 对 AppKit 框架的更新包括对设计语言的完善和平台一致性相关的演进。本文将介绍 AppKit 在 WWDC22 上的新特性和开发者的适配要点。
🌟 【WWDC22 110344/10109】 Developer Mode 与 Notarization
苹果作为隐私安全方面的先行者,一直致力于让用户能够下载到可靠和安全的应用,并确保用户和开发者的使用体验,试图在安全性和易用性上达到一个良好的平衡。
本文介绍的 iOS 方向的 developer mode 和 macOS 方向的 notarization 都是苹果基于这些原则的最新实践。
🌟 【WWDC22 10041】Wallet 和 Apple Pay 的新功能
本文通过回顾 WWDC 2022 了解
Wallet
和Apple Pay
常规更新和新增的功能。其中常规更新包含:无接触支付、Mac 同步 Apple Pay 功能、SwiftUI 新增 API等功能,新增功能包含:多商户支付、自动支付、订单跟踪、身份验证等功能。最后更新了交通卡支持Apple Pay
的城市和地区以及目前支持的设备,并提供相关 Demo 以供大家测试。🌟 【WWDC22 10003】初见 WeatherKit
本文将介绍 Apple 新推出的 WeatherKit 天气服务。全文共分为四个部分:第一部分是介绍 Apple 平台中的天气 app。第二部分是介绍支持查询的天气数据集的具体指标。第三部分是介绍如何使用 Swift 和 Python 3 进行接入及接入注意事项。第四部分是总结和展望。
🌟 【WWDC22 10075】结合使用 SwiftUI 和 AppKit
本文以 macOS 版本的快捷指令应用(Shortcuts)为例,介绍把 SwiftUI 和 AppKit 结合使用的一些方式和注意事项。
🌟 【WWDC 110371】 使用 Xcode 进行多平台开发的那些事
本文将配合 Xcode 14 从以下几个方面讲述多平台项目从开发到上线的过程。
🌟 【WWDC22 110345】 使用 Endpoint Security 保护 Mac 安全
本文将主要聚焦于 Mac 的 EndPoint Security 功能的新特性。全文共分为 3 个部分:第一部分是介绍端点安全将取代之前的 kAuth 等 API 。第二部分是对 Muting 技术的介绍,包括如何使用官方 API 。最后一部分是关于 eslogger 可以提供更加丰富的端点安全事件。
🌟 【WWDC22 10076】 将你的 iOS 应用搬到 Mac 上
SwiftUI 可以跨整个苹果生态,Flutter 可以跨大多数主流平台,为什么我还要选 Mac Catalyst ?假如有一套已经基于 UIKit 实现的 iPad 代码想要迁移到 Mac 上的话,Mac Catalyst 将是你的不二之选。本文将为你介绍 iOS 应用迁移到 Mac 上的几种方式,并且展示了新系统中的新接口。
🌟 【WWDC22 10007】 IAP 新特性
本文结合 WWDC21 IAP 相关能力,对 WWDC22 IAP 相关新特性进行了梳理回顾。本年度苹果虽无 WWDC21 的大拆大建,但却进行了大量的小修小补。苹果对基础能力的补充,让 StoreKit 2 从可用变成好用。阅读本文,与我们一同探讨优化 StoreKit 2、App Store Server API 及 App Store Noitfications V2 的相关策略!
🌟 【WWDC22 10155】ScreenCaptureKit:MacOS 上的高性能屏幕录制框架
屏幕录制一直以来都是一个桌面系统需要提供的基本能力,可以应用到很多场景,例如:视频会议中的桌面共享、电脑游戏直播、远程桌面控制等。 今年的 WWDC 苹果新推出了一个 MacOS 上的高性能屏幕录制框架 ScreenCaptureKit。 ScreenCaptureKit 不仅通过提供更加易于理解的 API 来简化开发成本,还大大提升了屏幕录制的性能,以便 MacOS 用户可以获得更佳的使用体验。
🌟 【WWDC22 10089】 What's new in PDFKit
本文基于 WWDC17 Introducing PDFKit on iOS 以及 WWDC22 What's new in PDFKit 两个 Session 的内容梳理,先后介绍了 PDF 的简介、苹果在 PDF 处理中的发展历史、PDFKit 的基本内容以及 PDFKit 最新的特性。
🌟 【WWDC22 10120】进化你的 Core Data Schema
数据迁移是数据库绕不开的话题。在 Core Data 中,轻量迁移更是每一个使用者的必修课。本文将由浅入深的介绍 Core Data 轻量迁移的功能、局限与最佳实践以及迁移在 CloudKit 中的注意事项。
🌟 【WWDC22 10077】验证码的替代者—私有访问凭证
验证码技术一直被用于真实流量识别,虽然比较有效但是也给用户带来了一些不便,于是一些平台尝试收集用户隐私信息来精准识别用户。一向注重保护用户隐私的苹果则认为这种做法不可取,于是苹果带来了新的认证技术:Private Access Token。
🌟 【WWDC22 10061】将多窗口引入 SwiftUI 应用
本文将围绕构建 SwiftUI app 的多窗口进行讨论。 共分为 4 个部分:
4.介绍一些在 app 中自定义 scene 的方法。
摸鱼周报
@摸鱼周报 #58:第 58 期摸鱼周报来了,一起看下本期概要:
内推
老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
如果你想找工作,点这里:https://www.yuque.com/iosalliance/article/bhutav
如果你想招人,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release # 老司机 iOS 周报 #207 | 2022-07-04.
Beta Was this translation helpful? Give feedback.
All reactions