我在b站做架构
如果无法正常显示,请先停止浏览器的去广告插件。
1. T Chat
我在大厂做研发
我在 Bilibili 做移动架构
卡比 @Bilibili
x
2. T Chat
x
Snorlax (卡比)
移动端架构师
B站老兵
写业务、写ijk、写基架、写持续集成、写工具链、写框架
全栈 : (
iOS出身,会点Android,会点Web,会点后端
四斋蒸鹅心 : (
3. T Chat
x
一些现象
4. T Chat
x
模块化下的两极分化
infra
低(Low)内聚低
(Best)耦合
不社畜
懂
模块类型
心情
癌不发作
掌握
方法技
懒
app
业务
内聚性
Cohesion
社畜
不紧张
工期
耦合性
“common”
Coupling
不懂/模凌两可
癌发作
高(High)内聚高
(Worst)耦合
紧张
5. T Chat
x
人类的思维能力是线性的
6. T Chat
x
对一些模块(团队)降低期望
7. T Chat
x
对一些模块(团队)降低期望
8. T Chat
x
一些坚持
9. T Chat
尽可能自动化一切
比起编码,优先使用
蓝图
x
所有计算机科学问题都可
以通过引入中间层解决 { Fast, Correct }
Choose two
比起继承优先使用组合 永远在确定输入下是
确定输出
最好的间接层是没有
这层 技术方案要让人力资源也可
Scalable(可扩展,可弹性)
10. T Chat
x
Declarative Programming
业界技术的跟进,证明了声明式编
程是下一代前端框架的最佳实践
Facebook 2013
Google 2018
Apple 2019
Google 2022
11. T Chat
x
一些实践
12. T Chat
x
Monorepo
Extremely valuable in an less-mature, high-churn codebase
100+
Developers
100+
Compile Unit
10M+
Lines of code
1000+
Libraries
10+
Libraries
同时保留传统模式
Monorepo
哔哩哔
哩粉 直播姬
UGC OGV
必剪 哔哩哔
哩HD 单测
Host 单一功
能Host
LIVE UGC OGV LIVE
iOS-Base (Swift + OC)
Android-Base (Kotlin + Java)
Cross-platform (C++)
https://monorepo.tools
13. T Chat
x
BAPIS
service Listener {
rpc TripleLike(TripleLikeReq)
returns (TripleLikeResp);
}
Protobuf IDL
Kotlin caller
Swift caller
Go callee
14. T Chat
x
移动端架构范式 (推进中)
Modern language + Declarative UI + MVI + DI
iOS Android
Swift Kotlin
UIX(自研) Jetpack
Compose
MVI UIX.ServiceType Jetpack
ViewModel
DI UIX.Resolver
(Base Resolver) Gripper
(Base Hilt)
Modern Language
Declarative UI
15. T Chat
x
移动端架构范式 (推进中)
Modern language + Declarative UI + MVI + DI
16. T Chat
x
一些感悟
17. T Chat
x
架构的乐趣在于设计可爱的工作细胞们
18. T Chat
x
血肉苦弱,机械⻜升
评分9.8!这部央视看上的动画,竟暗藏这么多"黑暗"知识?!
https://www.bilibili.com/video/BV1HA411N7GP
19. T Chat
https://github.com/bilibili
x
微信公众号: 哔哩哔哩技术
20. T Chat
x
Resources
https://en.wikipedia.org/wiki/Declarative_programming
https://developer.android.com/jetpack/compose
https://developer.apple.com/videos/play/wwdc2020/10040/
https://github.com/joelparkerhenderson/monorepo-vs-polyrepo
21. T Chat
x
THANK YOU