融合 Kotlin 和 Swift 语言进行移动端开发 夏天

QCon大会

2019/06/25 发布于 技术 分类

QCon  QCon2019 

文字内容
1. 全栈思维移动端开发 夏天 Sunday Morning CTO
3. ⾃自我介绍 先后在⼈人⼈人⽹网、LeanCloud、微信、BearyChat 负责移动端开发,多年年创业经验,后端 也有涉猎。现在在 Sunday Morning 创业做 POP IM。
4. ⽬目录 • • • • 远古移动端 理理想的移动端 结合实践举例例 总结
5. 重复代码 • • • 效率低下 迭代速度慢 难以维护
6. 各⾃自实现各⾃自的功能 • • • • 实现不不⼀一致 容易易出 bug 同样的问题要解决多次 很难找到最优⽅方案
7. 跨平台的解决⽅方案 • • Write once, run everywhere • Hybrid Learn once, write anywhere • React Native • Flutter • Weex
8. 跨平台解决不不了了所有的问题 • • • • ⾼高性能要求的场景 复杂的需求 历史遗留留原因 …
9. 理理想的移动端开发 • • • 不不应该过于强调移动端 很多轮⼦子在其他平台上都不不是第⼀一次造 为什什么招聘的 JD 上都会写: • 熟悉其他的语⾔言加分 • 熟悉任何⼀一⻔门脚本/后端语⾔言加分
10. Mark Read
11. Screenshot
12. Like
13. 分析 • • • 以上⼏几个 Feature 的⼏几个共性: 实时性要求不不⾼高 对⼀一致性有不不同程度的要求
14. 结合实践举例例 • • • • 后端是怎么解决类似问题的 CAP Eventual consistency CRDTs (conflict-free replicated data types) • LWW-Element-Set (Last-Write-Wins-Element-Set)
15. LWW-Element-Set
16. 移动端能不不能做类似的事情
17. 移动端的 MQ
18. 移动端的 MQ
19. 移动端的 MQ
20. 移动端的 MQ
21. More • • • • Throttle Deadline Memory Cache …
22. POPPER
23. POPPER • • • • • • 对⽐比类似产品 FaceU Soul 多闪 Bitmoji …
24. POPPER • • • • • • 为什什么我们要放在服务端 灵活/随时更更新 API 的复杂程度 • ⽐比如⼀一个头发会分成 N 层 避免多次重复的实现 后续功能考虑 …
26. 总结 • • • 你觉得“没⽤用”的知识往往会有⽤用 把整个开发团队放在⼀一起考虑 全栈思维移动端开发