美团客户端动态化实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 美团客户端动态化实践 美团点评:方锦涛
2.
3.
4. 目录 美团动态化的背景 动态化技术方案概览 美团客户端动态化体系 移动端动态化未来之路
5. 关于美团 • 200+品类 到店 到家 … … 出行 …
6. 关于美团客户端平台 • 众口难调 − 业务发展阶段不一样 − 团队技术栈不一样 − 历史包袱不一样
7. 移动端开发的痛点 Native • • 多端开发 升级慢 H5 • • 功能弱 体验差
8. 动态化的目的 • 提高迭代效率 – 相对Native 开发效率:多端开发 更新效率:升级慢 • 提高用户体验 – 相对H5 功能问题 体验问题
9. 目录 动态化的目的 动态化技术方案概览 美团客户端动态化体系 移动端动态化未来之路
10. 动态化技术方案概览 已知方案 百度 轻应用, 小程序, DynamicLoadAPK, ReactNative, HtmlNative 阿里巴巴 支付宝小程序, Weex, Atlas, Tangram 腾讯 微信小程序, VasSonic, ReactNative Google Android Instant App, Progressive Web App, Flutter Facebook ReactNative 携程 DynamicAPK, Ctrip ReactNative(CRN) 滴滴 VirtualAPK, DynamicCocoa 其他 快应用
11. 动态化技术方案总结 新开发模式 虚拟运行环境 布局动态化 FlexboxLayout Yoga ReactNative Flutter Tangram Weex 快应用 偏Native 偏H5 Atlas DroidPlugin VasSonic PWA VirtualAPK InstantApp PhoneGap 小程序 业务插件化(Android) 原有开发模式 Web容器增强
12. 动态化之路 Native H5
13. 动态化方案的选择 • 迁移效率 • 开发效率 • 更新效率 • 稳定性 • 流畅度
14. Web容器增强 短期运营业务-案例: Web能力增强(Hybrid/PWA) 迁移效率 各类节日运营活动、广告运营活动 流畅度 开发效率 稳定性 更新效率
15. 业务插件化 业务插件化(Atlas/DroidPlugin/VirtualAPK) 一键动态化-案例: 迁移效率 老业务一键迁移:美团大交通业务 流畅度 开发效率 稳定性 更新效率
16. 布局动态化 极致稳定性-案例: 布局动态化(Flexbox/Yoga/Tangram) 迁移效率 流畅度 美团首页运营位、外卖首页运营位 开发效率 稳定性 更新效率
17. 虚拟运行环境 新业务动态化-案例: 虚拟运行环境(RN/Weex/Flutter) 迁移效率 美团“发现”Tab 流畅度 开发效率 稳定性 更新效率
18. 动态化技术方案对比 方案 迁移效 开发效 更新效 稳定性 流畅度 适合场景 率 率 率 Web容器增强 高 高 高 中 低 短期运营业务 业务插件化 高 中 中 中 中 一键动态化 Android 布局动态化 低 中 高 高 高 极致稳定性 虚拟运行环境 中 高 高 中 中 新业务尝试
19. 目录 动态化的目的 动态化技术方案概览 美团客户端动态化体系 移动端动态化未来之路
20. 美团客户端动态化的痛点 布局动态化: 动 业务发展阶段不一致 MTFlexbox 态 业务插件化: 化 团队技术栈不一致 求 不 历史包袱不一致 美团插件化框架Hydra 诉 多套解决方案 虚拟运行环境: MRN 一 Web容器增强: 致 TitansX
21. 美团平台动态化体系全景图 布局动态化 业务 接口 辅助 工具 运行 环境 业务插件化 虚拟运行环境 Web容器增强 MTFlexbox Hydra MRN TitansX 布局模型 一键插件化API 组件和框架 TitansX JS API DSL定义 Native扩展支持 动态布局IDE 插件构建工具 Bundle拆分工具 调试工具 扩展组件库 调试工具 布局解析器 Multidex加载 多实例运行环境 离线化 Native控件支持 资源管理器替换 稳定性监控 长连接 反劫持 基础动态化服务(升级管理、新版本推送、安全保障等)
22. 布局动态化-IDE工具
23. 布局动态化效果
24. Android业务插件化-方案对比 框架 接入方式 Atlas (阿里) 迁移成本 代码迁移 资源迁移 特有的awb方式 高 低 VirtualAPK 需要手工配置脚本 未知 高 (滴滴) RePlugin 业务无法共享组件 高 高 (360) Hydra 跟库依赖集成一致 零成本 零成本 (美团)
25. Android业务插件化: 难点 资源处理 插件对宿主的资源访问问题 库依赖 无缝切换 代码处理 系统函数调用的兼容性问题 插件依赖
26. 业务插件化: 解决方案 • 介入编译打包过程,全局修改字节码 所有资源 .ap_ 美团APK 所有库 所有代码 插件资源 .dex .ap_ 插件APK 插件依赖 插件代码 .dex
27. 美团Android插件化效果 compile(‘train:9.1’) pluginCompile(‘ train:9.1’ )
28. 虚拟运行环境:MRN MRN业务开发平台 发布系统 开发工具 业务组件 业务框架 线上运维 发布流程 调试工具 组件规范 应用架构 稳定性监控 静态检查 代码转换工具 UI组件 页面模板 性能监控 持续集成 发布平台 业务异常监控 Native桥 ReactNative框架优化 内核优化 双平台对齐 业务隔离 容灾备份
29. RN的状态 过高期望的 峰值 可 实质生产的 高峰期 见 度 RN的状态 泡沫化的谷 底期 诞生的促动期 成熟度 稳步爬升的 光明期
30. 美团动态化方案总结 方案 业务/页面 布局动态化 美团首页、搜索结果页、外卖首页、美食首页等 MTFlexbox 业务插件化 搜索业务、火车票、机票、周边游、到餐旗舰店、金融闪付等 Hydra 虚拟运行环境 收藏业务、内容业务、火车票部分页面、外卖退款页等 MRN Web容器增强 各种运营活动页面 TitansX
31. 目录 动态化的目的 动态化技术方案概览 美团客户端动态化体系 移动端动态化未来之路
32. 动态化的未来之路 Native H5
33. 似曾相识的PC年代 重交互效率工具:CS 其他:BS
34. 动态化的未来之路 示例项目 编辑工具 推荐的方向 例子 业务插件化 各种笔记软件、美颜软件等 插件化、InstantApp 交易工具 Web容器增强/虚拟运行环境 资讯工具 Web容器增强 通讯工具 业务插件化 小程序、快应用、PWA、RN 小程序、PWA 插件化 实物电商、生活服务电商等 各类新闻软件 各类IM、视频聊天工具
35. 动态化的未来之路 • 重交互效率工具 – Native • 其他– JS
36.
37.
38.
39.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-22 12:45
浙ICP备14020137号-1 $访客地图$