多端一体化框架 Hippy 的开放与未来.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《多端一体化框架 Hippy 的开放与未来.pptx》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多端一体化框架 Hippy 的开放与未来 多端 一体化 框架 开放 未来
- 资源描述:
-
1、多端一体化框架HIPPY的开放与未来1. 跨平台技术的源起与发展2. 跨平台技术的现状与不足3. Hippy 架构与核心解决方案4. Hippy 未来规划与开源目录跨平台技术的源起WebNative伴随品间的在保障升研发能够快最快速IOS等开发效率高开发效率低支持双平台可动态发布体验差无法跨平台版本发布周期长体验好能力弱能力强跨平台技术需要解决的核心问题研发效率动态化一套代码多端运行支持动态更新快速迭代新功性能体验多端一致性提供接近原生的性能体验多端UI设计上整体风格统一跨平台技术划分原生渲染Web技术小程序WeexCordovaReact Native现有跨平台技术存在的一些不足l 在很多应
2、用场景性能体验和原生比还有差距l 原有H5业务接入门槛和迁移成本都较高l 增加新能力需要双端开发,框架扩展成本高,一致性差传统跨平台技术架构Javascript SideReact & JS EngineBridge+原生渲染BridgeModulesRenderDomUINativeSideBridge通信模式存在的问题JSONJSONJS thread Bridge Nl JS和Native,他们彼此之间不能真正相互感知,不能共享l Bridge通信是异步的,不能保证数据100%及时到达另一l 每次传输数据都是一次新的复制,大数据传输非常慢,频原生渲染机制存在的问题JavaScriptC+
3、Native生成虚拟Dom数据链路长,传输数据效率低,首屏显示与动画性能相对于原生还有差距JNIJNI创建node节点,生成UI树同一视图控件双端都要开发一次,且一致性较差计算node节点排版信息JNI用系统机制绘制UI什么是Hippy是我们发框架套界面高性能React.jsLibraryUserCodeJavaScriptVue.jsLibrary运营平台同时H提供的性能动AndroidPlatformIOSPlatformWEBPlatformHippy 架构设计ComponentJavaScript Side前端SDK,包括视图组件和基础功能,通信组件ReactVueCommon Bas
4、eSourceC+ SideCoreSDK,由5个子系统组成,包括VM,渲染,功能组件等核心能力VM N-APIRender Microtask ModulesNative SideBridge终端SDK(OC&JAVA),包括Bridge通信和功能组件ModulesPlatform系统平台层,包括android和IOS两个平台AndroidIOSCore SDK核心解决方案l C+ Side共享一套代码原Native SDK部分modules与UI Component移植到C+ SDK, 各实现,很大程度降低开发维护成本l 引入Binding模式引入全新 模式! 完全抛弃了编解码,直接通过
5、C+l 自渲染机制UI控件的所有解析,排版,渲染逻辑都在Render子系统完成,简消除了多余数据转换Binding模式与Bridge模式对比JS APIcallNativecallbacksetTimeoutcallNativeencodecallJSV8 baseC+setTimdecodedecodeencodeNativesetTimeoutBinding模式模块的注入与回调C+JSInternalBinding = GetBinding()/InternalBinding是js和native/交互的桥梁/getInternalBinding是native code(function(g
展开阅读全文