存量互联网时代的大前端生存之道
如果无法正常显示,请先停止浏览器的去广告插件。
1. 存量互联
时代的
存之道
2.
3. 00
开头聊点
话
4. 接棒Web2.0,空前
前端互联
热
突然就越挫越勇?
过去辉煌的移动
5. DAU 亿以下的21个独
产品中近 半
来源:晚点 https://www.latepost.com/news/dj_detail?id=2098
户数量下滑
6. 正循环
过去,移动互联
业务的正循环
7. 正循环
研发资源的循环,也如业务
般
8. 负循环
9.
10. 架构师,越挫越勇
落地了KMP跨端技术
45%鸿蒙代码由Android复
1000+
来
天收益
领域化架构演进
启动+次留显著上涨
AI DevOps
AI续写覆盖80% AI OnCall 55%
P70反馈 10%提效
11. 01
保证 标正确
架构师的责任
研发资源投
到正确的研发动作
12. 年后
,在
过多少项
你
维护?
13. 资源真的不够吗?
DeepSeek
50% 资源因
约
向性错误停摆
14. 缺乏正确的
标是资源不 的主因
郭东
师:
• 单纯由好奇
• 出于个
原因发起架构活动
决策失误导致设错
• 个
驱动的技术探索
标
15. 架构师的职责
16. 案例:鸿蒙KMP在快
效
来
17. Kotlin Multiplaform
18. Kotlin Multiplaform
19. Kotlin Multiplaform
20. 跨端赛道很拥挤
21. 标唯
且被正确描述
我们需要什么样的跨端能
:与现有跨端技术互补,弥补性能与效能的缺
1)
22. 2) 标由价值驱动且可短期度量
3) 与企业战略意图匹配
23. 架构师对“ 标”的要求
满
24. 实施过程中也要保证“过程 标”正确
25. 不是PMO视
架构师视
26. 1)顺应技术趋势
27. 1)顺应技术趋势
Kotlin/JS Kotlin/Native
基建适配成本低 技术优势
编译产物基本可直接 持鸿蒙 运
做局部适配即可实现和 ArkTS 互调 多线程 持好
快
基建适配成本
跨语 调
性能 编译产物不 持鸿蒙,需要进
多线程 持差
技术劣势
原
(ArkTS 调
编译器适配
.so )适配成本
28. 那么如何让KN运
在鸿蒙上?
29. K/N鸿蒙编译流程
标题 本
编译路径
通过 LLVM clang 命令实现,因为 成产物会被下 阶
段 LLVM 处理,所以与下 阶段 LLVM 版本强绑定
1. Kotlin Runtime 预编译
(cpp -> .bc)
API 依赖路径
3. Kotlin IR -> LLVM IR
(kotlin IR -> .bc)
4. LLVM IR 合并/Runtime插
(多个.bc -> .bc)
直接调
LLVM C API,与 LLVM API 接
5. LLVM IR -> 标 件
(.bc -> .o)
2. LLVM 库
跨语 接 层 预编译
(.h + def -> .bc)
6.
CInterop 接 映射 具:将 .h 中的 C 法 wrapper 成
Kotlin 法,实现 Kotlin 对 C 接 的访问,此过程通过
调 LLVM clang 命令实现
强绑定
标 件 -> 进制
(.o -> .so)
依赖 标平台链接器,通过命令链接平台库 std,
成 进制产物
30. 保证LLVM兼容性
标题 本
将LLVM IR转换成
3. Kotlin IR -> LLVM IR
(kotlin IR -> .bc)
鸿蒙:LLVM 15
1. Kotlin Runtime 预编译
(cpp -> .bc)
4. LLVM IR 合并/Runtime插
(多个.bc -> .bc)
保证多平台实现可以编译为统
Kotlin:LLVM 11
标平台可执
LLVM IR
5. LLVM IR -> 标 件
(.bc -> .o)
6.
标 件 -> 进制
(.o -> .so)
产物
31. 保证LLVM兼容性
标题 本
将LLVM IR转换成
3. Kotlin IR -> LLVM IR
(kotlin IR -> .bc)
鸿蒙:LLVM 12
1. Kotlin Runtime 预编译
(cpp -> .bc)
4. LLVM IR 合并/Runtime插
(多个.bc -> .bc)
保证多平台实现可以编译为统
Kotlin:LLVM 12
标平台可执
LLVM IR
5. LLVM IR -> 标 件
(.bc -> .o)
6.
标 件 -> 进制
(.o -> .so)
产物
32. Gradle适配
定制KMP Gradle插件,添加OHOS Target
(照着Linux抄会容易些)
②
①
③
33. 2)顺应
性
34. Kotlin和OC的交互 Swift还甜蜜
原
原
OC
Java
KMP
C
35. KT和JS就不那么甜蜜
类似JNI
式
类似RN 式
36. Kotlin -> C
37. C -> JS
38. Kotlin <- C/C++ - > JS
39. Kotlin <- C/C++ - > JS
40. Kotlin <- NAPI Wrap -> JS
41. Kotlin <- NAPI Wrap -> JS
42. Kotlin <-> JS
43. 开源计划
KNAPI 敬请期待
Kotlin Conf 2024 Beijing
2024 Kotlin 中
开发者
会
44. 3)顺应经济价值 - RoadMap
45. 02
保证价值交付
架构师的职责
让研发动作产
充
的研发价值
46. 案例:领域化业务架构演进
“有个
,你优化 下,先不
你信吗?
到底做性能优化、还是稳定性优化
做秒开还是做卡顿?
管指标”
47. 架构师的职责
:保证价值交付
•定位价值
•保证价值最
化
48. 按领域洞察架构问题
49. 根据领域进
分辨率问题诊断
50. 依循领域价值顺序,实施架构治理动作
51. 依循领域价值顺序,实施架构治理动作
私信领域化治理
启动次数 +0.1% 次留 +0.03%
秒开 +8% 卡顿 -2%
52. 基于价值交付的架构演进 式
53. 03
注重 期价值
架构师的职责三
54. 关注
期价值,撬动更多资源
只关注 短期价值 ,
会逐渐陷
资源紧缩 的螺旋
55. 架构师的职责三:关注 期价值
56. 架构师的职责三:关注 期价值
57. NERVER
END
越挫越勇
58.
59. 负循环只有这
个吗?
60.
61. Manus答不出来,但架构师知道:
62.
63. THANKS