页面更新方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39249506 阅读:8 留言:0更新日期:2023-10-30 12:01
本申请提供一种页面更新方法、装置、电子设备及存储介质,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,该方法包括:接收编译设备发送的目标伪指令对象;目标伪指令对象由编译设备编译对待更新原始数据进行编译得到,待更新原始数据为目标应用程序中的目标页面对应的数据;基于预设运行环境运行目标伪指令对象,得到目标伪指令对象的运行结果;预设运行环境设置在目标应用程序中,设置有预设运行环境的目标应用程序由编译设备编译后发布至本地客户端;基于运行结果更新目标页面,得到更新后的目标页面。采用本申请的技术方案,能够降低页面更新的成本和难度,提高页面更新的效率和覆盖率。更新的效率和覆盖率。更新的效率和覆盖率。

【技术实现步骤摘要】
页面更新方法、装置、电子设备及存储介质


[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]接收编译设备发送的目标伪指令对象;所述目标伪指令对象由所述编译设备编译对待更新原始数据进行编译得到,所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象,所述待更新原始数据为目标应用程序中的目标页面对应的数据;
[0007]基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至本地客户端;
[0008]基于所述运行结果更新所述目标页面,得到更新后的目标页面。
[0009]另一方面,本申请提出了一种页面更新方法,该方法包括:
[0010]获取目标应用程序中的目标页面对应的待更新原始数据;
[0011]编译所述待更新原始数据,得到所述待更新原始数据对应的目标伪指令对象;所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象;
[0012]发送所述目标伪指令对象至客户端;以使所述客户端基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至所述客户端;以及以使所述客户端基于所述运行结果更新所述目标页面,得到更新后的目标页面。
[0013]另一方面,本申请提出了一种页面更新装置,该装置包括:
[0014]接收模块,用于接收编译设备发送的目标伪指令对象;所述目标伪指令对象由所述编译设备编译对待更新原始数据进行编译得到,所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象,所述待更新原始数据为目标应用程序中的目标页面对应的数据;
[0015]运行模块,用于基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至本地客户端;
[0016]更新模块,用于基于所述运行结果更新所述目标页面,得到更新后的目标页面。
[0017]另一方面,本申请提出了一种页面更新装置,该装置包括:
[0018]获取模块,用于获取目标应用程序中的目标页面对应的待更新原始数据;
[0019]编译模块,用于编译所述待更新原始数据,得到所述待更新原始数据对应的目标伪指令对象;所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象;
[0020]发送模块,用于发送所述目标伪指令对象至客户端;以使所述客户端基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至所述客户端;以及以使所述客户端基于所述运行结果更新所述目标页面,得到更新后的目标页面。
[0021]另一方面,本申请提出了一种页面更新的电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并运行以实现如上述所述的页面更新方法。
[0022]另一方面,本申请提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并运行以实现如上述所述的页面更新方法。
[0023]另一方面,本申请提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器运行时实现上述所述的页面更新方法。
[0024]本申请实施例提出的页面更新方法、装置、电子设备及存储介质,通过接收编译设备发送的目标伪指令对象,基于预设运行环境运行目标伪指令对象,得到目标伪指令对象的运行结果,并基于运行结果更新目标应用程序中的目标页面,得到更新后的目标页面,实现了将待更新原始数据编译成目标伪指令对象,通过分发并运行该目标伪指令对象,达到页面动态更新的效果,从而在不需要更新目标应用程序的情况下,即可更新目标应用程序中的目标页面,降低了页面更新的成本和难度,提高了页面更新的效率和覆盖率。
附图说明
[0025]为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0026]图1是根据一示例性实施例示出的一种页面更新方法的实施环境示意图。
[0027]图2是根据一示例性实施例示出的一种页面更新方法的流程示意图一。
[0028]图3是根据一示例性实施例示出的一种编译待更新原始数据,得到待更新原始数据对应的目标伪指令对象的流程图。
[0029]图4是根据一示例性实施例示出的一种编译抽象语法树,得到目标伪指令对象的流程图。
[0030]图5是根据一示例性实施例示出的一种抽象语法树示意图。
[0031]图6是根据一示例性实施例示出的一种页面更新的流程示意图二。
[0032]图7是根据一示例性实施例示出的一种预设运行环境与目标应用程序进行集成的示意图。
[0033]图8是根据一示例性实施例示出的一种基于预设运行环境运行目标伪指令对象,得到目标伪指令对象的运行结果的流程图。
[0034]图9是根据一示例性实施例示出的一种运行环境类示意图。
[0035]图10是根据一示例性实施例示出的一种得到多个节点各自对应的伪指令对象的运行结果的流程图。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面更新方法,其特征在于,所述方法包括:接收编译设备发送的目标伪指令对象;所述目标伪指令对象由所述编译设备编译对待更新原始数据进行编译得到,所述目标伪指令对象用于表征所述待更新原始数据在编译过程中产生的伪指令和对象,所述待更新原始数据为目标应用程序中的目标页面对应的数据;基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果;所述预设运行环境设置在所述目标应用程序中,设置有所述预设运行环境的所述目标应用程序由所述编译设备编译后发布至本地客户端;基于所述运行结果更新所述目标页面,得到更新后的目标页面。2.根据权利要求1所述的页面更新方法,其特征在于,所述目标伪指令对象由所述编译设备对抽象语法树进行编译得到,所述抽象语法树包括多个节点,每个节点表征所述待更新原始数据中的数据结构,所述预设运行环境包括运行环境类,所述基于预设运行环境运行所述目标伪指令对象,得到所述目标伪指令对象的运行结果,包括:将所述多个节点各自对应的伪指令的参数信息和所述多个节点各自对应的对象存储至所述运行环境类中;所述多个节点各自对应的对象包括方法对象;基于所述多个节点各自对应的伪指令,从所述运行环境类中调用所述多个节点各自对应的对象中的方法对象,得到多个节点各自对应的伪指令对象的运行结果;根据所述多个节点各自对应的伪指令对象的运行结果,生成所述目标伪指令对象的运行结果;其中,所述多个节点各自对应的伪指令,由所述编译设备为所述多个节点各自的对象处理模块赋予伪指令得到;所述多个节点各自对应的对象,由所述编译设备基于所述多个节点各自的对象处理模块,对所述多个节点各自所表征的数据结构进行处理得到;所述多个节点各自的对象处理模块,由所述编译设备根据所述多个节点各自对应的类型创建得到;所述多个节点各自对应的伪指令对象,由所述编译设备基于所述多个节点各自对应的伪指令和所述多个节点各自对应的对象确定得到。3.根据权利要求2所述的页面更新方法,其特征在于,所述基于所述多个节点各自对应的伪指令,从所述运行环境类中调用所述多个节点各自对应的对象中的方法对象,得到多个节点各自对应的伪指令对象的运行结果,包括:从所述运行环境类中,获取所述多个节点各自对应的方法对象所包括的预设指令;所述预设指令为对所述方法对象进行编译得到;基于所述多个节点各自对应的伪指令运行所述预设指令,得到多个节点各自对应的伪指令对象的运行结果。4.根据权利要求3所述的页面更新方法,其特征在于,所述预设指令的数量为多个,多个预设指令按序排列,所述基于所述多个节点各自对应的伪指令运行所述预设指令,得到多个节点各自对应的伪指令对象的运行结果,包括:将所述多个预设指令中排序最前的预设指令作为所述多个节点各自对应的当前指令,并将所述当前指令从所述多个预设指令中移除;基于所述多个节点各自对应的伪指令运行所述当前指令,得到所述当前指令的运行结果;
重复所述将所述多个预设指令中排序最前的预设指令作为所述多个节点各自对应的当前指令,并将所述当前指令从所述多个预设指令中移除,至所述得到所述当前指令的运行结果的操作,直至得到所述多个节点各自对应的多个预设指令的运行结果;根据所述多个节点各自对应的多个预设指令的运行结果,生成所述多个节点各自对应的伪指令对象的运行结果。5.根据权利要求4所述的页面更新方法,其特征在于,所述基于所述多个节点各自对应的伪指令运行所述当前指令,得到所述当前指令的运行结果,包括:在所述当前指令包括目标指令集的情况下,基于所述多个节点各自对应的伪指令,按照预设顺序依次运行所述目标指令集中的指令,得到所述当前指令的运行结果。6.根据权利要求1至5中任一项所述的页面更新方法,其特征在于,所述接收编译设备发送的目标伪指令对象,包括:接收所述编译设备发送的内存快照文件;所述内存快照文件由所述编译设备对所述目标伪指令对象进行序列化处理得到;在所述基于预设运行环境运行所述目标伪指令对象之前,所述方法还包括:对所述内存快照文件进行反序列化处理,得到所述目标伪指令对象。7.一种页面更新方法,其特征在于,所述方法包括:获取目标应用程序中的目标页面对应的待更新原始数据;编译所述待更新原始数据,得到所述待更新原始数据对应的目标伪指令对象;所述目标伪指令对象用于表征所述待更新原...

【专利技术属性】
技术研发人员:黎敬茂罗广镇李鹏飞周俊锋杨雪平郑磊
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1