《【DCloud崔红保】跨平台开发的最佳实践.pdf》由会员分享,可在线阅读,更多相关《【DCloud崔红保】跨平台开发的最佳实践.pdf(39页珍藏版)》请在三个皮匠报告上搜索。
1、跨平台开发的最佳实践跨平台开发的最佳实践崔红保崔红保2023.06跨平台开发老兵uni-app产品负责人DCloud CTO01跨平台框架如何选型?02跨平台框架的共性问题03UTS:纯原生跨平台框架04云端一体,跨端之上的最佳实践What we talk about What we talk about when we talk about when we talk about cross-platformcross-platform什么是跨平台?为何要使用跨平台框架?业内有哪些主流跨平台框架?跨平台框架如何选型?跨端框架功能扩展扩展性性性能DSL生态开发体验工程工程化化错误提示、soure
2、map、热重载持续集成、自动化测试、工具链用户群体、学习门槛、生态复用,案例:qt mobile兼容终端类型,能力覆盖面平台特有能力的支持度自定义跨端扩展运行体验,接近原生的丝滑?长列表、手势拖动跨平台框架小结功能性能开发体验DSL生态工程化扩展性React native一般原生渲染基于JS开发一般支持一般weex一般原生渲染基于JS开发弱支持一般uni-app支持小程序和PC宽屏,内置扫码、地图、支付、分享等常用功能Web+原生双渲染引擎基于JS开发配套IDE完善支持条件编译Taro支持小程序原生渲染基于JS开发一般支持环境变量判断Flutter一般自绘UI基于dart开发弱支持一般跨平台框
3、架为何常被诟病?功能性能(渲染、阻塞.)跨平台原生典型场景:通讯阻塞JS 逻辑Native UIBridgetouch12render34swipeaction拖动流程(以weex为例)下一代跨平台框架实现原生渲染实现原生渲染:解决渲染性能差距继续继续基于基于 Web Web 技术栈技术栈:拥抱web生态,面向广大web开发者提供跨平台方案解决通讯阻塞解决通讯阻塞:消灭JS进程,避免JS进程和UI渲染之间的通讯阻塞UTSUTS:纯原生跨平台框架UTS:Uni Type ScriptWebWeb平台平台JavaScript(pc/h5)JavaScript(小程序)NativeNative平台平
4、台Kotlin(Android)Swift(iOS)TS+VueTS+VueUTS:Uni Type ScriptKotlin/Swiftapk/ipaVue native runtimeVue native runtimeUTSTS+VueTS+VuecompilebundleSWC is 20 x faster than Babel20 x faster than Babel on a single thread and 70 x faster70 x faster on four cores.UTS CompilerUTS CompilerTaskTask:处理所有语法差异,比如:处理所
5、有语法差异,比如:forfor、三元表达式等、三元表达式等UTS Compiler框架设计就是追求取舍平衡的过程uts是对ts的定制,有删有增有重定义vue-native-runtimevue-kotlin-runtime demoVue-Swift-Runtime计算属性计算属性属性观察器属性观察器云端一体:跨端之上的最佳实践改善前后端协同,赋能前端,加速业务协作模式协作模式改变,更少代码,更高效率SSR组件支持SSR,降低SSR门槛代码生成业务抽象schema,一键生成前后端代码轮子生态云端一体轮子,聚焦业务前后端协作模式变更3.02.0前后端分离AJAXjQuery1.0动态服务端渲染A
6、SPJSP0.0静态页面静态页面HTML云端一体云开发uniClouduniCloud-db:数据组件 const db=uniCloud.database()db.collection(article).where(catagory=news).field(title,summary,create_date).get().then(console.log).catch(console.error)JS API数据组件数据组件uniCloud-db数据组件:减少60%代码代码量对比:1.传统开发:90行2.uniC