使用跨端方案 Rax 编写鸿蒙应用

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 第 十 六 届 D 2 前 端 技 术 论 坛 使用跨端解决方案 Rax 编写鸿蒙应用 大果
2. ! 大果(刘雄) " 淘系技术部 – 前端架构 – 前端工程师 # 跨端 / 框架 / 中后台 飞冰 ICE Rax
3. 关于跨端解决方案 Rax 目录 当 Rax 遇到鸿蒙系统 原理:Rax 是如何对接鸿蒙的
4. 关于跨端解决方案 Rax
5. 为什么会有跨端? • 设备&网络差异大带来的性能问题 • App 容器层给了可能性 • 大厂商的超级 App 生态
6. 跨端背景下需要什么样的技术方案? 一码多端 研发成本 各写一套 ! 适配成本 ! 功能一致 ! 招聘成本 !
7. 社区中一码多端的方案 Rax Remix
8. Rax 是一个怎样的跨端方案? • 类 React 语法,以及配套的工程框架体系 • 支持 Web、各厂商小程序、Weex 等不同端 • 服务手淘内 80% 以上的业务
9. 当 Rax 遇到鸿蒙系统
10. 关于鸿蒙系统 • 华为自研开发的国产操作系统 • 装机量突破 1.5 亿 • 未来有机会跟安卓、苹果三足鼎立 • 支持使用 JavaScript 开发系统应用
11. 鸿蒙系统与跨端 鸿蒙系统将 JavaScript 作为应用开发的一等公民 Rax X 鸿蒙具备理论可能性
12. Why:业务有诉求吗? ! 单独开发一个鸿蒙应用 " 开发一个有流量入口的服务卡片
13. Why:技术有方案吗? 1. 单独开发一套成本太高了? 2. 学不动了怎么办?
14. 所以:支持用 Rax 开发鸿蒙应用吧 • 使用类 React 语法开发,不需要学习新的语法 • 一套代码多个端,降低开发成本 • 开发链路上可以更好的结合 Web 生态
15. 原理:Rax 是如何对接鸿蒙的
16. Rax 对接鸿蒙方案 渲染能力 工程构建 研发链路
17. 多端渲染: VDOM 的跨端能力 VDOM 标准数据结构 特点 价值 UI = fn(state) 跨端渲染
18. 多端渲染: Rax Driver 适配器
19. 多端渲染: Rax Driver 生态 driver-web driver-server driver-miniapp WebView Node.js 小程序
20. 多端渲染: 对接方案 index.hml index.css 鸿蒙官方的类 Web 开发范式,写法跟小程序/Vue 非常类似 index.js
21. 多端渲染: 对接方案 1. 语法编译 2. 类小程序运行时 Rax 语法 语法转换(Babel) 类小程序语法 • 实现成本高 • 语法约束多 ! 3. 对接底层渲染指令 Rax Core Rax Core driver-harmony driver-harmony this.$set() 渲染指令 类小程序 runtime 渲染引擎 • 运行时复杂度高 • 运行时轻量、高性能 • 性能劣化 • 实现周期短 " • 实现周期较长 #
22. 多端渲染: driver-harmony 业务代码 Rax Core driver-harmony JS Framework Render Engine
23. 多端渲染: driver-harmony
24. 工程构建: 工程配置 工程配置 build.json 运行时信息配置 app.json
25. 工程构建: 多 webpack 任务
26. 工程构建: plugin-rax-harmony 注册独立的 Webpack 任务 build-plugin-rax-harmony 定制 Webpack 配置 生成鸿蒙产物
27. 研发链路:方案设 计 鸿蒙官方提供了 DevEco Studio IDE 支持应用的全链路开发调试与打包。 Rax 的工程链路如何对接?
28. 研发链路:方案设 计 DevEco Studio 短期方案 创建项目 修改 src/ 应用打包 远程模拟器调试 应用发布 webpack-dev-server npm init rax 长期方案 (建设中) rax-app start 支持在 DevEco Studio 从 Rax 应用创建 -> 开发 -> 调试 -> 发布的全链路研发能力
29. 研发链路:方案演 示
30. Roadmap • 完成渲染链路的完整对接 Rax 团队和鸿蒙团队第一次会议交流 8 月 • 与鸿蒙 IDE 团队沟通全链路方案 10 月 结合鸿蒙提供的渲染指令跑通 demo 12 月 结合 Harmony 3.0 正式发布 2 月 • IDE 全链路流程开发完成 • Rax 相关组件&API 适配完成 3 月
31. 总结 1. 为什么需要一码多端的跨端解决方案 2. 鸿蒙系统以及对应的应用开发方案 3. 我们是如何实现使用 Rax 编写鸿蒙应用的 4. 后续的一些规划
32. Thanks

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-17 20:22
浙ICP备14020137号-1 $Carte des visiteurs$