【技术实现步骤摘要】
页面更新方法、装置、电子设备及存储介质
[0001]本申请属于计算机
,具体涉及一种页面更新方法、装置、电子设备及存储介质。
技术介绍
[0002]在页面更新场景中,相关技术通常使用操作系统提供网页视图(WebView)加载页面,使用解释型或即时编译型的编程语言(JavaScript,JS)渲染原生用户界面(UI)的方式对页面进行更新,或者下发前端编译产物抽象语法树(Abstract Syntax Tree,AST)至客户端,由客户端解析运行该AST,从而实现页面更新。
[0003]然而JS方式需要依赖JS引擎执行动态代码,且需要预埋标签,更新或者新增标签需要版本支持,使得页面更新的成本较高和更新难度较大,此外,JS和移动端应用UI开源框架(Flutter)桥接通信存在性能瓶颈;AST方式需要对Flutter中的类、方法、变量做符号映射,提前跟随App进行更新,使得页面更新的效率和精度较低,且其无法支持Flutter所依赖的程序开发语言(Dart)的语法的全部特性,页面更新的覆盖率较低。
技术实现思路
[0004]为了解决上述问题,本申请提供一种页面更新方法、装置、电子设备及存储介质。
[0005]一方面,本申请提出了一种页面更新方法,所述方法包括:
[0006]接收编译设备发送的目标伪指令对象;所述目标伪指令对象由所述编译设备编译对待更新原始数据进行编译得到,所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象,所述待更新原始数据为目标应用程序中的 ...
【技术保护点】
【技术特征摘要】
1.一种页面更新方法,其特征在于,所述方法包括:接收编译设备发送的目标伪指令对象;所述目标伪指令对象由所述编译设备编译对待更新原始数据进行编译得到,所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象,所述待更新原始数据为目标应用程序中的目标页面对应的数据;基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至本地客户端;基于所述运行结果更新所述目标页面,得到更新后的目标页面。2.根据权利要求1所述的页面更新方法,其特征在于,所述目标伪指令对象由所述编译设备对抽象语法树进行编译得到,所述抽象语法树包括多个节点,每个节点表征所述待更新原始数据中的数据结构,所述预设运行环境包括运行环境类,所述基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果,包括:将所述多个节点各自对应的伪指令的参数信息和所述多个节点各自对应的对象存储至所述运行环境类中;所述多个节点各自对应的对象包括方法对象;基于所述多个节点各自对应的伪指令,从所述运行环境类中调用所述多个节点各自对应的对象中的方法对象,得到多个节点各自对应的伪指令对象的运行结果;根据所述多个节点各自对应的伪指令对象的运行结果,生成所述目标伪指令对象的运行结果;其中,所述多个节点各自对应的伪指令,由所述编译设备为所述多个节点各自的对象处理模块赋予伪指令得到;所述多个节点各自对应的对象,由所述编译设备基于所述多个节点各自的对象处理模块,对所述多个节点各自所表征的数据结构进行处理得到;所述多个节点各自的对象处理模块,由所述编译设备根据所述多个节点各自对应的类型创建得到;所述多个节点各自对应的伪指令对象,由所述编译设备基于所述多个节点各自对应的伪指令和所述多个节点各自对应的对象确定得到。3.根据权利要求2所述的页面更新方法,其特征在于,所述基于所述多个节点各自对应的伪指令,从所述运行环境类中调用所述多个节点各自对应的对象中的方法对象,得到多个节点各自对应的伪指令对象的运行结果,包括:从所述运行环境类中,获取所述多个节点各自对应的方法对象所包括的预设指令;所述预设指令为对所述方法对象进行编译得到;基于所述多个节点各自对应的伪指令运行所述预设指令,得到多个节点各自对应的伪指令对象的运行结果。4.根据权利要求3所述的页面更新方法,其特征在于,所述预设指令的数量为多个,多个预设指令按序排列,所述基于所述多个节点各自对应的伪指令运行所述预设指令,得到多个节点各自对应的伪指令对象的运行结果,包括:将所述多个预设指令中排序最前的预设指令作为所述多个节点各自对应的当前指令,并将所述当前指令从所述多个预设指令中移除;基于所述多个节点各自对应的伪指令运行所述当前指令,得到所述当前指令的运行结果;
重复所述将所述多个预设指令中排序最前的预设指令作为所述多个节点各自对应的当前指令,并将所述当前指令从所述多个预设指令中移除,至所述得到所述当前指令的运行结果的操作,直至得到所述多个节点各自对应的多个预设指令的运行结果;根据所述多个节点各自对应的多个预设指令的运行结果,生成所述多个节点各自对应的伪指令对象的运行结果。5.根据权利要求4所述的页面更新方法,其特征在于,所述基于所述多个节点各自对应的伪指令运行所述当前指令,得到所述当前指令的运行结果,包括:在所述当前指令包括目标指令集的情况下,基于所述多个节点各自对应的伪指令,按照预设顺序依次运行所述目标指令集中的指令,得到所述当前指令的运行结果。6.根据权利要求1至5中任一项所述的页面更新方法,其特征在于,所述接收编译设备发送的目标伪指令对象,包括:接收所述编译设备发送的内存快照文件;所述内存快照文件由所述编译设备对所述目标伪指令对象进行序列化处理得到;在所述基于预设运行环境运行所述目标伪指令对象之前,所述方法还包括:对所述内存快照文件进行反序列化处理,得到所述目标伪指令对象。7.一种页面更新方法,其特征在于,所述方法包括:获取目标应用程序中的目标页面对应的待更新原始数据;编译所述待更新原始数据,得到所述待更新原始数据对应的目标伪指令对象;所述目标伪指令对象用于表征所述待更新原...
【专利技术属性】
技术研发人员:黎敬茂,罗广镇,李鹏飞,周俊锋,杨雪平,郑磊,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。