Skip to content

Commit 1ebe094

Browse files
authored
fix #5150
1 parent a79c905 commit 1ebe094

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Reports/2025/#352-2025.09.22.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,41 @@
2121

2222
> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
2323
24+
### 🌟 🐕 [Swift 6.2 正式发布](https://www.swift.org/blog/swift-6.2-released/)
25+
26+
[@kemchenj](https://kemchenj.github.io/):随着 Swift 语言本身走向成熟,每年的更新慢慢的已经不是集中在语言功能上,投入了更多的精力到工具链和生态建设上。
27+
28+
#### 更加平易近人的 Concurrency
29+
30+
- 默认使用 `@MainActor`,减少显式的 isolation 标记
31+
- 更加直观的 `async` 函数,默认在 caller 的上下文里执行,让 `class` 类型里可以用更简洁直观的方式去实现没有数据竞争的逻辑
32+
- 新增 `@concurrent` 函数注解,把任务派发到全局任务池
33+
34+
前两个功能都是可以手动开启和关闭的,由于前面两个功能开启后,非 actor 环境下的 `async` 函数全部都会派发到 `@MainActor` 执行,导致主线程负载变大,所以新增 `@concurrent` 可以制定任务派发到全局线程。这几套组合拳下来大大加强了 Concurrency 的易用性。
35+
36+
#### 安全的系统级编程功能
37+
38+
- `InlineArray`:固定大小的内联数组
39+
- `Span`:可以理解为类型安全的 Buffer 类型
40+
- 嵌入式 Swift:新增全套 `String` / `InlineArray` / `Span` API
41+
- C++ 互操作:可以通过 header 标注混合使用两个语言里的 `Span` 的类型
42+
43+
#### 工具链
44+
45+
- VSCode 插件更新
46+
- 更加细化的编译警告控制
47+
- 更快的 Macro 编译速度(通过下载预编译的 swift-syntax 包)
48+
- 优化 async 调试功能的体验和稳定性
49+
50+
#### 核心库更新
51+
52+
- Subprocess:一套全新的 Swift 原生进程接口
53+
- Foundation:NotificationCenter 新增一套类型安全,拥抱 Concurrency 的接口
54+
- Observation:提供更加易用的 async sequence 接口
55+
- swift-testing:新增 API 提高测试代码的表达能力
56+
57+
更多详细信息请查看原文。
58+
2459
### 🌟 🐢 [KMP on iOS 深度工程化:模块化、并发编译与 98% 增量构建加速](https://mp.weixin.qq.com/s/wOnyjYcka99eFJz8BWlu4Q)
2560

2661
[@JonyFang](https://github.com/): 本文主要介绍了 Bilibili KMP 在 iOS 工程化的一些深度改造,达成模块化、并发编译与 98% 增量构建加速的目标。主要通过对 Kotlin/Native 编译管线的深度拆解与重构,系统性地解决了其在模块化、编译并发和增量构建方面的核心瓶颈。

0 commit comments

Comments
 (0)