Open ChelesteWang opened 2 years ago
多端融合的意义 发挥各自的技术优势,实现性能及体验上的突破 比如性能优化,单纯的 web 能做的就那些事情,非常依赖浏览器本身的性能,但是结合原生,就可以从并行、预加载、缓存三个方面做更极致的优化
cross platform first 框架 Flutter架构最核心的便是 Framework(框架)和 Engine(引擎)
开发者通过 widget 写 ui,dart framework 通过比对 widget 更新 element,最后调度 RenderObject Tree完成布局排列和绘制
提供让 dart 可以调用 native 功能的能力
提供了一系列的工具,帮助开发者快速开发 C(或C++)的动态库,并能自动将 so 和 java 应用一起打包成apk
基于 Kotlin Multiplatform 提供跨平台能力
四种模式:webapp、hybrid(ionic)、调用原生(rn、weex)、完全接管(flutter)
给 h5 提供调用原生的能力,有 schema 和注入两种实现方式,现在一般都使用注入的方式 技术点有数据的序列化与反序列化、回调函数全局挂载
提供全新的 dsl 框架,编译成小程序的 dsl,针对不同端提供不同的运行时组件,完全适配
主要的技术点:wxml 模板生成、生命周期同步、事件代理、setData 性能
- 屏蔽 vue 对 dom 的处理,数据变化时通过 update 生命周期执行小程序的 setData - vue 组件和小程序组件之间通过 id 建立关联(小程序元素和 vnode 保存相同的 id) - 事件触发时通过 id 找到 vdom,然后拿到 event handler 执行
// render 编成 wxml,剩下的作为 js 重新定义 组件都继承 BaseComponent 适配 react 的生命周期 createComponent 与小程序打通
多态协议框架,可以将框架 dsl 编成各端的 dsl,每个端都有一个运行时提供通用方法和组件
建议按照 wx 官方标准 [性能 | 微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/framework/audits/performance.html)
思路就是小程序文档 + web 优化方法论结合
flutter 跨终端生态
多端融合的意义
发挥各自的技术优势,实现性能及体验上的突破
比如性能优化,单纯的 web 能做的就那些事情,非常依赖浏览器本身的性能,但是结合原生,就可以从并行、预加载、缓存三个方面做更极致的优化
Flutter
cross platform first 框架
Flutter架构最核心的便是 Framework(框架)和 Engine(引擎)
渲染原理
开发者通过 widget 写 ui,dart framework 通过比对 widget 更新 element,最后调度 RenderObject Tree完成布局排列和绘制
skia
Platform Channels
提供让 dart 可以调用 native 功能的能力
跨平台原理
NDK
提供了一系列的工具,帮助开发者快速开发 C(或C++)的动态库,并能自动将 so 和 java 应用一起打包成apk
Kotlin
基于 Kotlin Multiplatform 提供跨平台能力
优势
跨终端架构
四种模式:webapp、hybrid(ionic)、调用原生(rn、weex)、完全接管(flutter)
js-bridge
给 h5 提供调用原生的能力,有 schema 和注入两种实现方式,现在一般都使用注入的方式
技术点有数据的序列化与反序列化、回调函数全局挂载
方案一
方案二
提供全新的 dsl 框架,编译成小程序的 dsl,针对不同端提供不同的运行时组件,完全适配
mpvue
主要的技术点:wxml 模板生成、生命周期同步、事件代理、setData 性能
taro
remax
chameleon
多态协议框架,可以将框架 dsl 编成各端的 dsl,每个端都有一个运行时提供通用方法和组件
小程序性能
建议按照 wx 官方标准 [性能 | 微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/framework/audits/performance.html)
自定义标准
优化方式
思路就是小程序文档 + web 优化方法论结合
react native 新架构
flutter 跨终端生态