比心大前端研发效能体系

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 比心大前端研发效能体系 王劲鹏 比心-前端架构组
2.
3. • 大前端研发平台体系 • 组件化和业务集成 • 应用构建和发布交付 • 业务配置化
4. 大前端组件化 组件化优势 • • 多端功能便于对齐一致 • 可维护性强,易于调试 • 依赖清晰,易于版本管理
5. 组件类型 Native组件 • • Android AAR;iOS Pod;PC Conan C++;NPM package 跨端组件 • • Doric动态化组件;游戏组件(如Cocos等)
6. 组件管理 • 组件创建和详情管理 • 三方组件跳过Lint类检查 • Owners追溯组件质量分析和责任分配 • 二进制可以加速后期应用构建
7. 组件版本迭代 • 指定组件分支发布 • 业务组件依赖分析 • 三方库依赖分析
8. 组件集成(1) • 版本迭代 • 集成到指定业务分支 • 预览修改
9. 组件集成(2) • 单个或多个组件集成 • 具体到指定业务分支 • 查看创建和编译日志 • 取消集成
10. 应用构建 • 构建分支,包类型 • 详细日志 • 二进制加速构建 • 自定义本地组件
11. 发布交付 • 版本管理和筛选 • 渠道发布 • 公网链接管理
12. 业务配置化 • App矩阵管理 • 编译或者构建任务步骤配置化 • 用户权限管控
13. Doric跨端和动态化 • 极简和渐进式(声明式布局,多种开发模式,如MVVM,类原生等) • 多端一致性(Android,iOS,Web,Qt,小程序) • 高性能,兼容原生或类原生混合开发
14. Doric Coding Style • 声明式和TSX
15. Doric多端一致性 • 依次为iOS,Android,Web,小程序和Qt
16. Doric比心落地 • 2268个组件版本 • 69个闭环组件集合
17. Doric组件管理 • 版本控制 • 动态跟版 • 内置
18. • 下一代 CI/CD 构建系统 • 动机和背景 • 云原生结合虚拟化
19. 动机和背景 传统Jenkins局限性 • • 需要手动部署到指定物理机 • 构建过程存在对构建系统环境的副作用 • 维护成本高,无法适配复杂的大前端体系下的构建和编译需求
20. 理想的构建系统 • 构建的原子性(一个环境只执行一个构建任务) • 系统可复原(单次任务内对系统环境的修改任务结束时还原) • 可定制软件或环境变量(提供一些内置软件) • 易于部署,只需要copy即可完成部署
21. Matrix系统 • Docker化部署 (docker-compose.yml) • Docker Linux + QEMU KVM (Mac, Linux & Windows) 保证环境可复 原 • 多项内置软件 (nodejs多版本管理;jvm多版本管理;rvm多版本管理) • 定制化操作系统 (Mac Catalina ~ Monterey, Windows 10 ~ 11) • 额外可以以ssh复用现有物理机器执行构建
22. Matrix任务描述 • 任务类型 • 目标机器 • 环境变量 • 阶段编译命令 • 任务元信息
23. Matrix容器管理 • 宿主机管理 • 挂载的Docker+KVM管理 • YML编辑和修改
24. Matrix物理机群管理 • 物理机器的添加 • 单个节点的tag标记 • 节点基础信息修改和删除
25. Matrix任务调度和监控 状态监控 • • 活跃、成功、失败、等待 • 等待和持续时长观测 • 失败任务重发和警报
26. Matrix构建日志 • 分阶段日志动态查看 • 日志快速搜索过滤
27. Matrix缓存 共用NFS高速网络缓存 • • 二进制的构建缓存 • 工程第三方依赖缓存
28. • 总结和展望 • 总体收益和效果 • 未来的 Roadmap
29. 总体收益和效果 • 大前端研发平台很好的实现了组件能力和复用,避免了多个业务内部重 复“造轮子”,基础能力得到很好拓展和维护 • Doric在比心的2000多个版本的组件落地和原生配合可更好更高效得迭 代业务,使得任意一端的研发能力得到全局释放 • Matrix构建系统支持近10W次的构建和几乎零故障,配合二进制和缓存 系统做到了更高效的交付
30. Road Map • 大前端研发平台会进一步迭代,支持更多类型,更丰富的组件形态,配 合Matrix构建系统,做到更加多样化的构建流程 • Matrix本身也会逐步丰富软件内置管理,镜像构建支持自动化等 • Doric开源社区会逐步支持3D引擎多样化,多端一致性演进等
31. Doric支持3d引擎
32. 欢迎加入Doric社区
33.
34.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.3. UTC+08:00, 2024-11-25 10:40
浙ICP备14020137号-1 $访客地图$