File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 2121
2222> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
2323
24+ ### 🌟 🐢 [ KMP on iOS 深度工程化:模块化、并发编译与 98% 增量构建加速] ( https://mp.weixin.qq.com/s/wOnyjYcka99eFJz8BWlu4Q )
25+
26+ [ @JonyFang ] ( https://github.com/ ) : 本文主要介绍了 Bilibili KMP 在 iOS 工程化的一些深度改造,达成模块化、并发编译与 98% 增量构建加速的目标。主要通过对 Kotlin/Native 编译管线的深度拆解与重构,系统性地解决了其在模块化、编译并发和增量构建方面的核心瓶颈。
27+
28+ ** 在构建系统与编译速度上** :实现了 ` Parallel Compilation ` ,将每个 Kotlin 模块独立编译为 ` .a ` 文件,在一些日常的底层修改的场景下最终产物编译耗时降低 98% 。这充分释放了 Bazel 的高并发优势,结合可靠的 ` remote cache ` 机制达到 Never clean build 的预期。
29+
30+ ** 在编码与跨语言交互上** :摆脱了 KMP 默认的“大一统”框架模式。通过为每个 Kotlin 模块生成独立的 ` Clang module ` ,并以 ` @ObjCExport ` 注解精确控制导出,实现了真正的模块化。
31+
32+ ** 在调试与工程化上** :通过修复 ` source-map ` 路径和实现可靠的 ` implementation_deps ` ,保证了跨语言调试的稳定性和构建的确定性,解决了社区方案中的常见痛点。
33+
34+ 也推荐几篇前几期的相关阅读:
35+ - [ 探讨跨平台技术与跨平台UI框架及Kotlin Multiplatform在bilibili的实践] ( https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499203&idx=1&sn=67aea00aa5c15999f97791311938bc53&scene=21&poc_token=HLpTz2ijWQWLwFf6XFfk8Q_WpxxZDQY6efKAoW3r )
36+ - [ 工程化视角的 Kotlin Multiplatform核心解读及优化] ( https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499744&idx=1&sn=f3c7bff956a066c30b70b5be1236a308&scene=21&poc_token=HNFTz2ij1E8hZViL6RNPunbfKHVS25LeC66WMyXt )
37+ - [ B站在KMP跨平台的业务实践之路] ( https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247502999&idx=1&sn=9213bf3505748c329053a5b583450a18&scene=21&poc_token=HOdTz2ijemHOj_WW4N95gPA12ZTRq-q99qX9m5aI )
38+
39+
2440### 🐎 [ Automating Github Action Workflows For Swift] ( https://elegantchaos.com/2025/08/28/action-builder.html )
2541
2642[ @Damien ] ( https://github.com/ZengyiMa ) :作者重启搁置的 ActionBuilder 项目,通过扫描 Package.swift 实现零配置生成 GitHub Actions tests.yml,借 Swiftly 自动识别 Swift 版本并调度 Linux/macOS runner,对 iOS 等 Apple 平台则调用 Xcode 构建且已适配 Swift 6.0-6.2,未来将以轻量 CLI 取代插件,可直接嵌入 Xcode build phase 随编译自动更新工作流。
6177
6278但从更长的视角来看,在 iOS 26 暴露了更多问题后,开发者修复后,后续的新版本对低 OS 的用户也带来体验的提升,所以总体我还是偏正常得看待这个 feature 的,等于苹果开启了对一类问题的线上 TSan ,并且对性能的影响微乎其微。短期的阵痛后带来的是更长期的体验提升。美中不足的就是如果这项 feature 能像 malloc 的一些开关(malloc stack logging 等),能让开发者自主控制按一定比例开启就更好了,能有更多时间修复以及控制对升级到 iOS 26 用户的影响。
6379
80+
6481> 更具体的一些细节可以看链接。
6582
6683## 工具
You can’t perform that action at this time.
0 commit comments