当前位置:首页 > 报告详情

崔红保-‍跨平台框架的性能优化实践.pdf

上传人: 2*** 编号:153923 2024-02-05 47页 3.27MB

1、跨平台框架的性能优化实践主讲人:崔红保演讲嘉宾介绍崔红保DCloud CTO uni-app 跨端框架负责人 跨平台开发老兵 深耕开发者服务领域,在跨平台、前端 UI、小程序性能优化等方面经验丰富。负责的 uni-app 跨端框架,拥有十几亿的月活终端。CONTENT目录2023K+01关于跨平台框架跨平台框架的性能坑点UTS:纯原生跨平台框架020304未来展望:云端一体Part 01关于跨平台框架 什么是跨平台 跨平台框架如何选型What we talk about when we talk about cross-platform什么是跨平台为何要使用跨平台框架?业内有哪些主流跨平台框架

2、?跨平台框架如何选型?跨端框架功能扩展性性能DSL生态开发体验工程化错误提示、souremap、热重载持续集成、自动化测试、工具链用户群体、学习门槛、生态复用,案例:qt mobile兼容终端类型,能力覆盖面平台特有能力的支持度自定义跨端扩展运行体验,接近原生的丝滑?长列表、手势拖动跨平台框架小结功能性能开发体验DSL生态工程化扩展性React native一般原生渲染基于JS开发一般支持一般weex一般原生渲染基于JS开发弱支持一般uni-app支持小程序和PC宽屏,内置扫码、地图、支付、分享等常用功能Web+原生双渲染引擎基于JS开发配套IDE完善支持条件编译Taro支持小程序原生渲染基于

3、JS开发一般支持环境变量判断Flutter一般自绘UI基于dart开发弱支持一般Part 02跨平台框架的性能坑点 通用架构 web渲染 原生渲染跨平台框架为何常被诟病?功能性能(渲染、阻塞.)跨平台原生基于web渲染的Hybrid App通用架构Native层,提供各种原生能力JS Core/V8JS BridgetwebviewWeb Components视图层框架AppPagePage逻辑层框架逻辑层视图层Native层纯web渲染有诸多问题 切页白屏:打开新页面、选项卡切换 手势操作:地图、视频、下拉刷新 键盘:定制按钮引入原生组件,增强体验Native层,提供各种原生能力JS Cor

4、e/V8JS BridgetwebviewWeb ComponentsNative Components视图层框架AppPagePage逻辑层框架常见原生增强示例 tabs/navigationbar:避免页面白屏,提升新窗口进入时的用户体验 Video:全屏后的滑动控制(声音、进度、亮度等)map:更流畅的双指缩放 input:定制右下角按钮(发送、下一个)原生导航条混合渲染引发新问题 原生永远在最高层,无法通过z-index设置不同元素的层级 页面滚动,通讯阻塞,组件抖动 原生字体和web字体不统一混合渲染改进:组件补丁 cover-view:可覆盖在原生组件之上的文本视图 cover-i

5、mage:可覆盖在原生组件之上的图片视图混合渲染改进:同层渲染同层渲染:原生组件和web组件层级一致同层渲染的实现方案1.wkwebview预先在需要插入原生控件(如video)的位置,插入一个具有overflow:scroll属性的DIV标签2.native层查找对应的 WKChildScrollView 组件3.将原生控件(如video)挂载到该 WKChildScrollView 节点上作为其子 ViewiOS平台:借助WKChildScrollView和DOM节点的映射关系同层渲染的实现方案webviewHTMLPluginElementWebPluginRenderLayerNati

6、ve原生组件SurfaceTextureAndroid平台:借助chromium的WebPlugin机制创建原生组件生成embed节点原生渲染仅解决了渲染问题,通讯阻塞问题依旧JS 逻辑Native UIBridgetouch12render34swipeaction拖动流程(以weex为例)BindingX原理 将”交互行为以表达式的方式描述,并提前预置到Native 交互触发时,Native 根据其内置的 表达式解析引擎 去执行表达式,并根据表达式执行的结果驱动视图变换通讯阻塞是业界普遍存在的一个问题通讯阻塞是个通用问题解决方案支持功能微信小程序WX

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
崔红保,DCloud的CTO,也是uni-app跨端框架的负责人,分享了关于跨平台框架性能优化实践的讲座。他讨论了跨平台框架的选择、性能坑点、以及未来的展望。 崔红保指出,跨平台框架的选择需要考虑功能扩展性、性能、开发体验、DSL生态和工程化等方面。他比较了几种主流的跨平台框架,包括React Native、Weex、Taro、Flutter和uni-app,并指出了各自的优缺点。 他还深入探讨了跨平台框架的性能坑点,包括web渲染、原生渲染和跨平台原生基于web渲染的Hybrid App的通用架构问题。他提出了混合渲染改进的方案,包括同层渲染和组件补丁。 崔红保还介绍了UTS,一种纯原生跨平台框架,它的目标是解决渲染性能差距,拥抱web生态,并解决通讯阻塞问题。他还展示了UTS的编译器和运行时机制。 最后,他展望了未来的跨平台开发,包括前后端协作模式的改变、代码智能生成和轮子模式的变革。他提到了uniCloud,一种云开发平台,它可以减少60%的代码,并提供便捷的数据组件。 总的来说,崔红保的讲座提供了跨平台框架选择的深入见解,性能优化实践的解决方案,以及对未来跨平台开发的展望。
"跨平台框架如何选型?" "跨平台框架的性能坑点有哪些?" "云端一体在未来跨平台开发中的作用是什么?"
客服
商务合作
小程序
服务号
折叠