掌桥专利:专业的专利平台
掌桥专利
首页

一种基于信息流的原生渲染的方法与设备

文献发布时间:2023-06-19 09:36:59


一种基于信息流的原生渲染的方法与设备

技术领域

本申请涉及通信领域,尤其涉及一种用于基于信息流的原生渲染的技术。

背景技术

现有技术中,网页的呈现通常采用H5(HTML5)或Native app(原生应用)的实现方式,采用H5的实现方式具有跨平台、开发成本低、可随时上线、适合快速迭代的优点,但是由于需要基于浏览器内核进行渲染,该实现方式的性能较差,存在安全性问题,如浏览器劫持等,而原生应用的实现方式基于用户设备的原生操作系统进行渲染,性能与安全性较好,但开发成本较高。

发明内容

本申请的一个目的是提供一种基于信息流的原生渲染的方法与设备。

根据本申请的一个方面,提供了一种基于信息流的原生渲染的方法,该方法包括:

响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;

创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;

将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

根据本申请的一个方面,提供了一种基于信息流的原生渲染的用户设备,该设备包括:

一一模块,用于响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;

一二模块,用于创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;

一三模块,用于将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

根据本申请的一个方面,提供了一种基于信息流的原生渲染的设备,其中,该设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:

响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;

创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;

将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如下操作:

响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;

创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;

将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

与现有技术相比,本申请能够根据目标链接地址对应的配置文件,获取一个或多个模板信息,进而从每个模板信息中获取一个或多个原生控件,并根据配置文件获取该一个或多个原生控件中的至少一个原生控件对应的一个或多个信息流,之后创建该一个或多个原生控件,将该一个或多个信息流绑定在该至少一个原生控件上,并根据该模板信息将该一个或多个原生控件渲染在当前页面上,由此能够通过原生控件对H5页面中的信息流实现原生渲染,从而将H5页面以原生的形式展现出来,可以解决H5的性能问题与安全性问题,还可以使得开发者在不用学习原生语言的前提下,就可以拥有接近原生应用的体验,降低开发者的学习和开发成本;进一步地,还可以降低开发者在UI上的开发成本,从而使得开发者可以专注于想要呈现的信息流本身。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个实施例的一种基于信息流的原生渲染的方法流程图;

图2示出根据本申请一个实施例的一种基于信息流的原生渲染的用户设备结构图;

图3示出可被用于实施本申请中所述的各个实施例的示例性系统。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Program mable Random Access Memory,PRAM)、静态随机存取存储器(Static Rand om-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random A ccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如An droid操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digita l SignalProcessor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。

当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。

图1示出根据本申请一个实施例的一种基于信息流的原生渲染的方法流程图,该方法包括步骤S11、步骤S12和步骤S13。在步骤S11中,用户设备响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;在步骤S12中,用户设备创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;在步骤S13中,用户设备将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

在步骤S11中,用户设备响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应。在一些实施例中,加载触发操作可以是用户在目标应用中输入目标链接地址,还可以是在用户在目标应用中点击目标链接地址,或者,还可以是用户在其他应用中点击目标链接地址跳转到目标应用,在此,不对加载触发操作作任何限制。在一些实施例中,配置文件可以是任何格式的文件,优选地,配置文件可以是json格式的文件。在一些实施例中,可以从目标链接地址对应的服务器获得配置文件,或者,还可以从目标应该对应的服务器获得配置文件,或者,还可以从用户设备本地获得配置文件,或者,目标链接地址中可以包含配置文件的存放地址(例如,第三方服务器地址),可以根据配置文件的存放地址获得配置文件。在一些实施例中,基于针对目标链接地址的加载触发操作生成的当前页面包含一个或多个显示区域,该一个或多个已显示区域包括多种类型,其中,第一种类型的显示区域直接渲染在当前页面上,第二种类型的显示区域开始不会渲染在当前页面上,需要响应于针对第一种类型的显示区域中的原生控件执行的访问触发操作(例如,点击操作等),才会渲染在当前页面上,第三种类型的显示区域开始也不会渲染在当前页面上,需要响应于针对第一种类型或第二种类型的显示区域中的原生控件执行的访问触发操作(例如,点击操作等),从当前页面跳转到新的第二页面,并在该第二页面上进行渲染。在一些实施例中,配置文件中包括一个或多个模板信息,每个显示区域可以对应一个模板信息,也可以对应多个模板信息。在一些实施例中,每个显示区域可以分别对应不同的模板信息,或者,多个显示区域可以对应相同的模板信息。在一些实施例中,模板信息可以是对应的显示区域的布局样式信息,布局样式信息中包括一个或多个原生控件描述信息,原生控件描述信息用于描述需要被渲染在对应的显示区域上的原生控件的类型及属性等信息,根据模板信息,可以将该模板信息对应的一个或多个原生控件渲染在对应的显示区域上。在一些实施例中,原生控件可以是用户设备系统预置的view(例如,Button、TextView、RecyclerView等),还可以是用户设备系统预置的viewgroup(viewgroup中包括一个或多个view或viewgroup,例如,LinearLayout、RelativeLayout等),还可以是自定义view或自定义viewgroup。在一些实施例中,一个或多个模板信息中的至少一个模板信息需要获取对应的信息流,此时,对于该至少一个模板信息中的每个模板信息,该模板信息包括的一个或多个原生控件描述信息中的至少一个原生控件描述信息需要获取信息流绑定到该至少一个原生控件描述信息对应的原生控件中去,配置文件中定义了对于至少一个原生控件描述信息中的每个原生控件描述信息,该如何去获取需要绑定到该原生控件描述信息对应的原生控件去中的一个或多个信息流的获取方式(信息流解析规则)。在一些实施例中,配置文件中包括一个或多个接口地址(例如,ajax接口地址),多个原生控件描述信息可以对应同一个接口地址,也可以分别对应不同的接口地址,通过请求(例如,ajax请求)某个原生控件描述信息对应的接口地址获得该原生控件描述信息对应的接口数据信息(例如,json格式数据),然后通过配置文件中的信息流解析规则信息,信息流解析规则信息包括每个原生控件描述信息对应配置文件中的哪个接口地址、以及一个或多个字段路径信息(例如,json格式数据中的一个或多个key的路径),从该原生控件描述信息对应的接口数据信息中解析获得该一个或多个字段路径信息对应的一个或多个信息流(例如,json格式数据中的一个或多个key对应的value),将该一个或多个信息流作为需要绑定到该原生控件描述信息对应的原生控件中去的信息流。在一些实施例中,根据目标链接地址对应的HTML页面信息,可以获得该原生控件描述信息对应的Document信息,Document是HTML页面信息的根节点,通过Document可以对HTML页面信息中的所有标签进行访问,然后通过配置文件中的信息流解析规则信息,信息流解析规则信息包括一个或多个标签路径信息,从该原生控件描述信息对应的Document中解析获得该一个或多个标签路径信息对应的一个或多个标签,并将该一个或多个标签对应的信息流作为需要绑定到该原生控件描述信息对应的原生控件中去的信息流。

在步骤S12中,用户设备创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件。在此需要说明的是,获取信息流和创建原生控件之间并没有严格的先后顺序,可以先获取信息流再创建原生控件,也可以先创建原生控件再获取信息流。在一些实施例中,创建原生控件包括但不限于新建原生控件对象(例如,调用Button的构造函数来new一个TextView对象)、根据原生控件描述信息初始化原生控件对象(例如,调用TextView的init方法,或者,根据原生控件描述信息中TextView的属性信息,调用TextView的相关方法(如setTextSize方法)或直接设置TextView的相关属性)等。

在步骤S13中,用户设备将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。在一些实施例中,对于需要绑定信息流的至少一个原生控件中的每个原生控件,通过配置文件获取该原生控件对应的一个或多个信息流,将该一个或多个信息流绑定在该原生控件上,在此,绑定可以是调用该原生控件对象对应的相关方法(例如,调用TextView的setTextSize方法)将该一个或多个信息流传入该原生控件对象,或者,还可以直接将该原生控件对象中的相关属性赋值为该一个或多个信息流。在一些实施例中,根据一个或多个模板信息,将每个模板信息中包括的一个或多个原生控件描述信息对应的一个或多个原生控件渲染在基于所述加载触发操作生成的当前页面上,其中,渲染方式是基于用户设备操作系统的原生渲染,而不是基于浏览器内核的渲染。在此需要说明的是,本申请中各个实施例中均以android系统为例,本领域技术人员应能理解,本申请的方案也能够适用于其他系统,如IOS系统等。

本申请能够根据目标链接地址对应的配置文件,获取一个或多个模板信息,进而从每个模板信息中获取一个或多个原生控件,并根据配置文件获取该一个或多个原生控件中的至少一个原生控件对应的一个或多个信息流,之后创建该一个或多个原生控件,将该一个或多个信息流绑定在该至少一个原生控件上,并根据该模板信息将该一个或多个原生控件渲染在当前页面上,由此能够通过原生控件对H5页面中的信息流实现原生渲染,从而将H5页面以原生的形式展现出来,可以解决H5的性能问题与安全性问题,还可以使得开发者在不用学习原生语言的前提下,就可以拥有接近原生应用的体验,降低开发者的学习和开发成本;进一步地,还可以降低开发者在UI上的开发成本,从而使得开发者可以专注于想要呈现的信息流本身。

在一些实施例中,所述获取所述目标链接地址对应的配置文件,包括:从所述目标链接地址对应的服务器获取所述目标链接地址对应的配置文件。

在一些实施例中,所述目标链接地址中包含配置文件地址;其中,所述获取所述目标链接地址对应的配置文件,包括:根据所述配置文件地址,获取所述目标链接地址对应的配置文件。在一些实施例中,目标链接地址中会包含配置文件的存放地址,该存放地址可以是配置文件在用户设备本地的存放路径,还可以是存放配置文件的第三方服务器的地址,例如,目标链接地址的末尾包含“@配置文件的存放地址”。

在一些实施例中,所述获取所述目标链接地址对应的配置文件,包括:从所述目标应用对应的服务器获取所述目标链接地址对应的配置文件。

在一些实施例中,所述从所述目标应用对应的服务器获取所述目标链接地址对应的配置文件,包括:将所述目标链接地址的主机信息发送到所述目标应用对应的服务器,以使所述服务器查询所述主机信息对应的配置文件;接收所述服务器返回的所述主机信息对应的配置文件,并将所述主机信息对应的配置文件作为所述目标链接地址对应的配置文件。在一些实施例中,主机信息是目标链接地址的HOST信息,目标应用对应的服务器维护HOST信息与配置文件之间的映射关系,用户设备通过将目标链接地址对应的HOST信息发送到目标应用对应的服务器,该服务器根据该HOST信息与配置文件之间的映射关系查询得到该HOST信息对应的配置文件并返回用户设备,并作为目标链接地址对应的配置文件。在一些实施例中,配置文件的文件名即是该配置文件所对应的链接地址的HOST信息,用户设备通过将目标链接地址对应的HOST信息发送到目标应用对应的服务器,将该HOST信息与所有配置文件的文件名进行匹配,得到与该HOST信息相匹配的配置文件并返回用户设备,并作为目标链接地址对应的配置文件。

在一些实施例中,所述配置文件包括至少一个第二链接地址;其中,所述根据所述配置文件获取所述目标链接地址对应的至少一个信息流,包括:从所述配置文件中获取所述至少一个第二链接地址对应的至少一个模板信息,从所述至少一个模板信息中获取所述至少一个第二链接地址对应的一个或多个原生控件描述信息,根据所述配置文件获取所述一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个信息流,其中,每个第二链接地址对应一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息。在一些实施例中,当前页面包含一个或多个显示区域,该一个或多个已显示区域包括多种类型,其中,第一种类型的显示区域直接渲染在当前页面上,第二种类型的显示区域开始不会渲染在当前页面上,需要响应于针对第一种类型的显示区域中的原生控件执行的访问触发操作,才会渲染在当前页面上,第三种类型的显示区域开始也不会渲染在当前页面上,需要响应于针对第一种类型或第二种类型的显示区域中的原生控件执行的访问触发操作,从当前页面跳转到新的第二页面,并在该第二页面上进行渲染。在一些实施例中,一个或多个显示区域对应一个第二链接地址,例如,当前页面包含2个显示区域,电影频道显示区域和电视片频道显示区域,每个显示区域对应一个第二链接地址,电影频道显示区域对应的第二链接地址是“https://m.douban.com/movie/”,电视剧频道显示区域对应的第二链接地址是“https://m.douban.com/tv/”。在一些实施例中,每个第二链接地址可以对应一个模板信息,也可以对应多个模板信息。在一些实施例中,配置文件包括至少一个第二链接地址,对于该至少一个第二链接地址中的每个第二链接地址,从配置文件中获取该第二链接地址对应的一个或多个模板信息,模板信息可以是该第二链接地址对应的一个或多个显示区域的布局样式信息,并从该布局样式信息中获取该第二链接地址对应的一个或多个原生控件描述信息,原生控件描述信息用于描述需要被渲染在对应的显示区域上的原生控件的类型及属性等信息,根据模板信息,可以将该模板信息对应的一个或多个原生控件渲染在对应的显示区域上。在一些实施例中,对于每个第二链接地址,根据配置文件,获取需要绑定到该第二链接地址对应的一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个原生控件去中的一个或多个信息流,创建该一个或多个原生控件描述信息对应的一个或多个原生控件,并将该一个或多个信息流绑定在对应的至少一个原生控件上,然后根据该第二链接地址对应的一个或多个模板信息,将该一个或多个原生控件渲染在当前页面上。

在一些实施例中,所述配置文件还包括至少一个规则信息;其中,所述从所述配置文件中获取所述至少一个第二链接地址对应的至少一个模板信息,从所述至少一个模板信息中获取所述至少一个第二连接地址对应的一个或多个原生控件描述信息,根据所述配置文件获取所述一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个信息流,包括针对所述至少一个第二链接地址中的每个第二链接地址执行的如下操作:从所述配置文件中获取该第二链接地址对应的规则信息,从该规则信息中获取该第二链接地址对应的一个或多个模板信息,并从该一个或多个模板信息中获取该第二链接地址对应的一个或多个原生控件描述信息;根据该规则信息,获取该一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的一个或多个信息流。在一些实施例中,配置文件还包括至少一个规则信息,每个第二链接地址都会对应一个规则信息,该规则信息中包含该第二链接地址对应的一个或多个模板信息、如何去获取需要绑定到该一个或多个模板信息中的一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个原生控件中去的一个或多个信息流的获取方式。例如,当前页面包含2个显示区域,电影频道显示区域和电视片频道显示区域,每个显示区域对应一个第二链接地址,电影频道显示区域对应的第二链接地址是“https://m.douban.com/movie/”,电视剧频道显示区域对应的第二链接地址是“https://m.douban.com/tv/”,第二链接地址“https://m.douban.com/movie/”对应的规则信息是“movie_rule”,第二链接地址“https://m.douban.com/tv/”对应的规则信息是“tv_rule”,“movie_rule”中包含一个模板信息(例如,模板标识信息(如模板ID,“template”:1),根据模板标识信息可以从用户设备本地、目标应用对应的服务器或目标链接地址对饮的服务器获取具体的模板信息)以及对应的信息流获取方式,“tv_rule”中包含一个模板信息(例如,“template”:2),根据模板标识信息可以从用户设备本地、目标应用对应的服务器或目标链接地址对应的服务器获取具体的模板信息)以及对应的信息流获取方式,根据各自对应的信息流获取方式,分别获取需要绑定到第二链接地址“https://m.douban.com/movie/”与“https://m.douban.com/tv/”对应的一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个原生控件中去的一个或多个信息流。

在一些实施例中,所述配置文件还包括至少一个链接相关信息与所述至少一个规则信息之间的映射关系;其中,所述从所述配置文件中获取该第二链接地址对应的规则信息,包括:将该第二链接地址与所述至少一个链接相关信息进行匹配,获得与第二链接地址相匹配的链接相关信息,根据所述映射关系,将所述链接相关信息对应的规则信息作为该第二链接地址对应的规则信息。在一些实施例中,链接相关信息可以是第二链接地址本身,也可以是第二链接地址的正则表达式。在一些实施例中,配置文件中包括至少一个链接相关信息与至少一个规则信息之间的映射关系,可以是不同的链接相关信息对应不同的规则信息,或者,还可以是若干个不同的链接相关信息对应相同的规则信息,通过将某个第二链接地址与配置文件中的至少一个链接相关信息进行匹配,获得与该第二链接地址相匹配的链接相关信息,将该链接相关信息所映射的规则信息作为该第二链接地址对应的规则信息。例如,配置文件中的映射关系为("rule_regex":[{"regex":"https://m.douban.com/movie/","rule":"movie_rule"},{"regex":"https://m.douban.com/tv/","rule":"tv_rule"}]),第二链接地址为“https://m.douban.com/movie/,”则根据该映射关系,可以确定该第二链接地址“https://m.douban.com/movie/”对应的规则信息为“movie_rule”。

在一些实施例中,所述根据该规则信息,获取该一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的一个或多个信息流,包括:对于该一个或多个原生控件描述信息中的至少一个原生控件描述信息中的每个原生控件描述信息,获取该原生控件描述信息对应的文档对象信息,以及从该规则信息中获取该原生控件描述信息对应的信息流解析规则信息,并根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流。在一些实施例中,文档对象信息是信息流的载体,规则信息包括该规则信息对应的一个或多个模板信息中的一个或多个原生控件描述信息对应的信息流解析规则信息,每个原生控件描述信息对应的信息流解析规则信息用于定义如何从文档对象信息中解析得到需要绑定到该原生控件描述信息对应的原生控件去中的一个或多个信息流。在一些实施例中,可以一个规则信息对应一个文档对象信息,每个规则信息对应的所有原生控件描述信息共用该规则信息对应的文档对象信息,或者,还可以一个规则信息对应多个文档对象信息,每个规则信息对应的多个原生控件描述信息分别对应不同的文档对象信息。在一些实施例中,文档对象信息可以是接口数据信息,此时,规则信息中包括一个或多个接口地址,该规则信息对应的模板信息中的多个原生控件描述信息可以对应同一个接口地址,也可以分别对应不同的接口地址,通过请求某个原生控件对应的接口地址获得该原生控件描述信息对应的接口数据信息,然后通过规则信息中的该原生控件描述信息对应的信息流解析规则信息,信息流解析规则信息包括该原生控件描述信息对应规则信息中的哪个接口地址、以及一个或多个字段路径信息,从该原生控件描述信息对应的接口数据信息中解析获得该一个或多个字段路径信息对应的一个或多个信息流,将该一个或多个信息流作为该原生控件描述信息对应的信息流。在一些实施例中,文档对象信息可以是Document信息,根据目标链接地址的HTML页面信息或该规则信息对应的第二链接地址的HTML页面信息,可以获得该原生控件描述信息对应的Document信息,然后通过规则信息中的信息流解析规则信息,信息流解析规则信息包括根据目标链接地址还是该规则信息对应的第二链接地址获得对应的Document信息、以及一个或多个标签路径信息,从该原生控件描述信息对应的Document中解析获得该一个或多个标签路径信息对应的一个或多个标签,并将该一个或多个标签对应的信息流作为该原生控件描述信息对应的信息流。

在一些实施例中,所述文档对象信息为接口数据信息,所述信息流解析规则信息包括一个或多个字段路径信息;其中,所述获取该原生控件描述信息对应的文档对象信息,包括:获取该原生控件描述信息对应的接口地址信息;根据所述接口地址信息,请求获得该原生控件描述信息对应的接口数据信息;其中,所述根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流,包括:对于一个或多个字段路径信息中的每个字段路径信息,从该原生控件描述信息对应的接口数据信息中解析得到该字段路径信息对应的信息流。在一些实施例中,文档对象信息为接口数据信息(例如,根据ajax接口请求获得的json数据),规则信息中包括一个或多个接口地址(例如,ajax接口地址),规则信息对应的模板信息中的多个原生控件描述信息可以对应同一个接口地址,也可以分别对应不同的接口地址,通过请求(例如,ajax请求)某个原生控件描述信息对应的接口地址获得该原生控件描述信息对应的接口数据信息,然后通过规则信息中的该原生控件描述信息对应的信息流解析规则信息,信息流解析规则信息包括该原生控件描述信息对应规则信息中的哪个接口地址、以及一个或多个字段路径信息(例如,json格式数据中的一个或多个key的路径),从该原生控件描述信息对应的接口数据信息中解析获得该一个或多个字段路径信息对应的一个或多个信息流(例如,json格式数据中的一个或多个key对应的value),将该一个或多个信息流作为该原生控件描述信息对应的信息流。例如,规则信息对应的模板信息中包括原生控件TextViewA,该原生控件TextViewA对应的规则信息中的接口地址信息为“https://m.douban.com/rexxar/api/v2/movie/suggestion,”通过对该接口地址信息发起ajax请求获得该原生控件TextViewA对应的json格式的接口数据信息,然后通过规则信息中该原生控件TextViewA对应的信息流解析规则信息("title":{"selector":"title>value"}),从该原生控件TextViewA对应的json格式的接口数据信息中解析获得字段路径信息“title>value”对应的信息流,并通过调用该原生控件TextViewA的setTitle方法,将该信息流传入该原生控件TextViewA。

在一些实施例中,所述文档对象信息为Document信息,所述信息流解析规则信息包括一个或多个标签路径信息;其中,所述获取该原生控件描述信息对应的文档对象信息,包括:根据第一链接地址对应的HTML页面信息,获得该原生控件描述信息对应的Document信息,其中,所述第一链接地址为所述目标链接地址或该第二链接地址;其中,所述根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流,包括:对于一个或多个标签路径信息中的每个标签路径信息,从该原生控件描述信息对应的HTML信息中解析得到该标签路径信息对应的信息流。在一些实施例中,文档对象信息为Document信息,根据目标链接地址HTML页面信息或该规则信息对应的第二链接地址的HTML页面信息,可以获得该原生控件描述信息对应的Document信息,Document是HTML页面信息的根节点,通过Document可以对HTML页面信息中的所有标签进行访问,然后通过规则信息中该原生控件描述信息对应的信息流解析规则信息,信息流解析规则信息包括根据目标链接地址还是该规则信息对应的第二链接地址获得对应的Document信息、以及一个或多个标签路径信息,标签路径信息可以是标签在DOM树中的路径信息,还可以是标签对应的id属性、className属性或其他属性,从该原生控件描述信息对应的Document中解析获得该一个或多个标签路径信息对应的一个或多个标签,并将该一个或多个标签对应的信息流作为该原生控件描述信息对应的信息流。例如,规则信息对应的模板信息中包括原生控件TextViewB,该原生控件TextViewB对应的规则信息对应目标链接地址“

在一些实施例中,所述配置文件还包括一个或多个第三链接地址及至少一个第二规则信息;其中,所述方法还包括:用户设备响应于所述当前页面中针对所述一个或多个第三链接地址中的目标第三链接地址的访问触发操作,从所述配置文件中获取所述目标第三链接地址对应的第二规则信息,从该第二规则信息中获取所述目标第三连接地址对应的一个或多个第二模板信息,并从该一个或多个第二模板信息中获取所述目标第三链接地址对应的一个或多个第二原生控件描述信息;根据该第二规则信息,获取该一个或多个第二原生控件描述信息中的至少一个第二原生控件描述信息对应的一个或多个信息流;创建该一个或多个第二原生控件描述信息对应的一个或多个第二原生控件,其中,所述一个或多个第二原生控件包括与所述至少一个第二原生控件描述信息对应的至少一个第二原生控件;将该一个或多个信息流绑定在该至少一个第二原生控件上,并根据该一个或多个第二模板信息将该一个或多个第二原生控件渲染在所述当前页面上。在一些实施例中,配置文件还包括一个或多个第三链接地址及至少一个第二规则信息,每个第三链接地址都会对应一个第二规则信息,每个第三链接地址对应的第二规则信息中包含该第三链接地址对应的第二模板信息以及如何去获取需要绑定到该第二模板信息中的至少一个第二原生控件描述信息对应的至少一个第二原生控件去中的一个或多个信息流的获取方式。在一些实施例中,访问触发操作包括用于触发针对一个或多个第三链接地址中的目标第三链接地址的访问的任何操作,例如,当前页面上已被渲染的目标第一原生控件所绑定的目标第一信息流中包含目标第三链接地址,用户针对目标第一原生控件执行的访问触发操作(例如,点击操作)即为针对目标第三链接地址的访问触发操作。在一些实施例中,目标第三链接地址对应的一个或多个第二模板信息中的一个或多个第二原生控件描述信息对应的一个或多个第二原生控件开始不在当前页面上渲染,响应于当前页面中针对目标第三链接地址的访问触发操作,获取该一个或多个第二原生控件描述信息中的至少一个第二原生控件描述信息对应的一个或多个信息流,创建该一个或多个第二原生控件描述信息对应的一个或多个第二原生控件,将该一个或多个信息流绑定到该至少一个第二原生控件描述信息对应的至少一个第二原生控件中去,并根据该一个或多个第二模板信息,此时才将该一个或多个第二原生控件渲染在当前页面上,更新当前页面,以在更新后的当前页面上呈现。

在一些实施例中,所述配置文件还包括一个或多个第四链接地址及至少一个第三规则信息;其中,所述方法还包括:用户设备响应于所述当前页面中针对所述一个或多个第四链接地址中的目标第四链接地址的访问触发操作,从所述当前页面跳转到所述目标第四链接地址对应的第二页面;从所述配置文件中获取所述目标第四链接地址对应的第三规则信息,并从该第三规则信息中获取所述目标第四链接地址对应的一个或多个第三模板信息,并从该一个或多个第三模板信息中获取所述目标第四链接地址对应的一个或多个第三原生控件描述信息;根据该第三规则信息,获取该一个或多个第三原生控件描述信息中的至少一个第三原生控件描述信息对应的一个或多个信息流;创建该一个或多个第三原生控件描述信息对应的一个或多个第三原生控件,其中,所述一个或多个第三原生控件包括与所述至少一个第三原生控件描述信息对应的至少一个第三原生控件;将该一个或多个信息流绑定在该至少一个第三原生控件上,并根据该一个或多个第三模板信息将该一个或多个第三原生控件渲染在在所述第二页面上。在一些实施例中,配置文件还包括一个或多个第四链接地址及至少一个第三规则信息,每个第四链接地址都会对应一个第三规则信息,每个第四链接地址对应的第三规则信息中包含该第四链接地址对应的第三模板信息以及如何去获取需要绑定到该第三模板信息中的至少一个第四原生控件描述信息对应的至少一个第四原生控件去中的一个或多个信息流的获取方式。在一些实施例中,访问触发操作包括用于触发针对一个或多个第四链接地址中目标第四链接地址的访问的任何操作,例如,当前页面上已被渲染的目标第一原生控件或目标第二原生控件所绑定的目标第一信息流或目标第二信息流中包含目标第四链接地址,用户针对目标第一原生控件或目标第二原生控件执行的访问触发操作(例如,点击操作)即为针对目标第四链接地址的访问触发操作。在一些实施例中,目标第四链接地址对应的一个或多个第三模板信息中的一个或多个第三原生控件描述信息对应的一个或多个第三原生控件开始不在当前页面上渲染,响应于当前页面中针对目标第四链接地址的访问触发操作,从当前页面跳转到目标第四链接地址对应的第二页面,然后获取该一个或多个第三原生控件描述信息中的至少一个第三原生控件描述信息对应的一个或多个信息流,创建该一个或多个第三原生控件描述信息对应的一个或多个第三原生控件,将该一个或多个信息流绑定到该至少一个第三原生控件描述信息对应的至少一个第三原生控件中去,并根据该一个或多个第三模板信息,将该一个或多个第三原生控件渲染在第二页面上,以在第二页面上呈现。

在一些实施例中,所述从该规则信息中获取该第二链接地址对应的一个或多个模板信息,包括:从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息,并获取所述一个或多个模板标识信息对应的一个或多个模板信息。在一些实施例中,模板标识信息可以是模板名称,也可以是模板ID,例如,模板标识信息可以是(“template”:1)。在一些实施例中,根据模板标识信息,可以从用户设备本地、目标应用对应的服务器或目标链接地址对应的服务器获取具体的模板信息。

在一些实施例中,所述从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息,并获取所述一个或多个模板标识信息对应的一个或多个模板信息,包括:从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息及所述一个或多个模板标识信息中的至少一个模板标识信息对应的一个或多个模板样式扩展信息,以及获取所述一个或多个模板标识信息对应的一个或多个初始模板信息;根据所述一个或多个模板样式扩展信息及所述一个或多个初始模板信息,获得该第二链接地址对应的一个或多个模板信息。在一些实施例中,根据模板标识信息,可以从用户设备本地、目标应用对应的服务器或目标链接地址对应的服务器获取标准的初始模板信息。在一些实施例中,模板样式扩展信息用于自定义扩展标准初始模板的样式,例如,可以扩展标准初始模板的背景、内边距、外边距等样式。在一些实施例中,从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息及一个或多个模板样式扩展信息,根据一个或多个模板样式扩展信息对一个或多个模板标识信息对应的一个或多个标准初始模板中的至少一个标准初始模板进行扩展,从而获得该第二链接地址对应的一个或多个模板信息。例如,模板样式扩展信息可以是("template":"id":2,"background":"#ff00ff","margin":"10,5,10,5","padding":"5,5,5,5"}),以此扩展id为2的标准初始模板的背景、内边距和外边距,从而获得最终的模板信息。

图2示出根据本申请一个实施例的一种基于信息流的原生渲染的用户设备结构图,该设备包括一一模块11、一二模块12和一三模块13。一一模块11,用于响应于目标应用中针对目标链接地址的加载触发操作,获取所述目标链接地址对应的配置文件,以及根据所述配置文件获取所述目标链接地址对应的至少一个信息流,其中,所述配置文件包括一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息,所述一个或多个模板信息所包括的所有原生控件描述信息中的至少一个原生控件描述信息与所述至少一个信息流相对应;一二模块12,用于创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件;一三模块13,用于将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。

一一模块11,用于在一些实施例中,加载触发操作可以是用户在目标应用中输入目标链接地址,还可以是在用户在目标应用中点击目标链接地址,或者,还可以是用户在其他应用中点击目标链接地址跳转到目标应用,在此,不对加载触发操作作任何限制。在一些实施例中,配置文件可以是任何格式的文件,优选地,配置文件可以是json格式的文件。在一些实施例中,可以从目标链接地址对应的服务器获得配置文件,或者,还可以从目标应该对应的服务器获得配置文件,或者,还可以从用户设备本地获得配置文件,或者,目标链接地址中可以包含配置文件的存放地址(例如,第三方服务器地址),可以根据配置文件的存放地址获得配置文件。在一些实施例中,基于针对目标链接地址的加载触发操作生成的当前页面包含一个或多个显示区域,该一个或多个已显示区域包括多种类型,其中,第一种类型的显示区域直接渲染在当前页面上,第二种类型的显示区域开始不会渲染在当前页面上,需要响应于针对第一种类型的显示区域中的原生控件执行的访问触发操作(例如,点击操作等),才会渲染在当前页面上,第三种类型的显示区域开始也不会渲染在当前页面上,需要响应于针对第一种类型或第二种类型的显示区域中的原生控件执行的访问触发操作(例如,点击操作等),从当前页面跳转到新的第二页面,并在该第二页面上进行渲染。在一些实施例中,配置文件中包括一个或多个模板信息,每个显示区域可以对应一个模板信息,也可以对应多个模板信息。在一些实施例中,每个显示区域可以分别对应不同的模板信息,或者,多个显示区域可以对应相同的模板信息。在一些实施例中,模板信息可以是对应的显示区域的布局样式信息,布局样式信息中包括一个或多个原生控件描述信息,原生控件描述信息用于描述需要被渲染在对应的显示区域上的原生控件的类型及属性等信息,根据模板信息,可以将该模板信息对应的一个或多个原生控件渲染在对应的显示区域上。在一些实施例中,原生控件可以是用户设备系统预置的view(例如,Button、TextView、RecyclerView等),还可以是用户设备系统预置的viewgroup(viewgroup中包括一个或多个view或viewgroup,例如,LinearLayout、RelativeLayout等),还可以是自定义view或自定义viewgroup。在一些实施例中,一个或多个模板信息中的至少一个模板信息需要获取对应的信息流,此时,对于该至少一个模板信息中的每个模板信息,该模板信息包括的一个或多个原生控件描述信息中的至少一个原生控件描述信息需要获取信息流绑定到该至少一个原生控件描述信息对应的原生控件中去,配置文件中定义了对于至少一个原生控件描述信息中的每个原生控件描述信息,该如何去获取需要绑定到该原生控件描述信息对应的原生控件去中的一个或多个信息流的获取方式(信息流解析规则)。在一些实施例中,配置文件中包括一个或多个接口地址(例如,ajax接口地址),多个原生控件描述信息可以对应同一个接口地址,也可以分别对应不同的接口地址,通过请求(例如,ajax请求)某个原生控件描述信息对应的接口地址获得该原生控件描述信息对应的接口数据信息(例如,json格式数据),然后通过配置文件中的信息流解析规则信息,信息流解析规则信息包括每个原生控件描述信息对应配置文件中的哪个接口地址、以及一个或多个字段路径信息(例如,json格式数据中的一个或多个key的路径),从该原生控件描述信息对应的接口数据信息中解析获得该一个或多个字段路径信息对应的一个或多个信息流(例如,json格式数据中的一个或多个key对应的value),将该一个或多个信息流作为需要绑定到该原生控件描述信息对应的原生控件中去的信息流。在一些实施例中,根据目标链接地址对应的HTML页面信息,可以获得该原生控件描述信息对应的Document信息,Document是HTML页面信息的根节点,通过Document可以对HTML页面信息中的所有标签进行访问,然后通过配置文件中的信息流解析规则信息,信息流解析规则信息包括一个或多个标签路径信息,从该原生控件描述信息对应的Document中解析获得该一个或多个标签路径信息对应的一个或多个标签,并将该一个或多个标签对应的信息流作为需要绑定到该原生控件描述信息对应的原生控件中去的信息流。

一二模块12,用于创建所述一个或多个模板信息所包括的所有原生控件描述信息对应的所有原生控件,其中,所述所有原生控件包括与所述至少一个原生控件描述信息对应的至少一个原生控件。在此需要说明的是,获取信息流和创建原生控件之间并没有严格的先后顺序,可以先获取信息流再创建原生控件,也可以先创建原生控件再获取信息流。在一些实施例中,创建原生控件包括但不限于新建原生控件对象(例如,调用Button的构造函数来new一个TextView对象)、根据原生控件描述信息初始化原生控件对象(例如,调用TextView的init方法,或者,根据原生控件描述信息中TextView的属性信息,调用TextView的相关方法(如setTextSize方法)或直接设置TextView的相关属性)等。

一三模块13,用于将所述至少一个信息流绑定在所述至少一个原生控件上,并根据所述一个或多个模板信息将所述所有原生控件渲染在基于所述加载触发操作生成的当前页面上。在一些实施例中,对于需要绑定信息流的至少一个原生控件中的每个原生控件,通过配置文件获取该原生控件对应的一个或多个信息流,将该一个或多个信息流绑定在该原生控件上,在此,绑定可以是调用该原生控件对象对应的相关方法(例如,调用TextView的setTextSize方法)将该一个或多个信息流传入该原生控件对象,或者,还可以直接将该原生控件对象中的相关属性赋值为该一个或多个信息流。在一些实施例中,根据一个或多个模板信息,将每个模板信息中包括的一个或多个原生控件描述信息对应的一个或多个原生控件渲染在基于所述加载触发操作生成的当前页面上,其中,渲染方式是基于用户设备操作系统的原生渲染,而不是基于浏览器内核的渲染。在此需要说明的是,本申请中各个实施例中均以android系统为例,本领域技术人员应能理解,本申请的方案也能够适用于其他系统,如IOS系统等。

本申请能够根据目标链接地址对应的配置文件,获取一个或多个模板信息,进而从每个模板信息中获取一个或多个原生控件,并根据配置文件获取该一个或多个原生控件中的至少一个原生控件对应的一个或多个信息流,之后创建该一个或多个原生控件,将该一个或多个信息流绑定在该至少一个原生控件上,并根据该模板信息将该一个或多个原生控件渲染在当前页面上,由此能够通过原生控件对H5页面中的信息流实现原生渲染,从而将H5页面以原生的形式展现出来,可以解决H5的性能问题与安全性问题,还可以使得开发者在不用学习原生语言的前提下,就可以拥有接近原生应用的体验,降低开发者的学习和开发成本;进一步地,还可以降低开发者在UI上的开发成本,从而使得开发者可以专注于想要呈现的信息流本身。

在一些实施例中,所述获取所述目标链接地址对应的配置文件,包括:从所述目标链接地址对应的服务器获取所述目标链接地址对应的配置文件。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述目标链接地址中包含配置文件地址;其中,所述获取所述目标链接地址对应的配置文件,包括:根据所述配置文件地址,获取所述目标链接地址对应的配置文件。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述获取所述目标链接地址对应的配置文件,包括:从所述目标应用对应的服务器获取所述目标链接地址对应的配置文件。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述从所述目标应用对应的服务器获取所述目标链接地址对应的配置文件,包括:将所述目标链接地址的主机信息发送到所述目标应用对应的服务器,以使所述服务器查询所述主机信息对应的配置文件;接收所述服务器返回的所述主机信息对应的配置文件,并将所述主机信息对应的配置文件作为所述目标链接地址对应的配置文件。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述配置文件包括至少一个第二链接地址;其中,所述根据所述配置文件获取所述目标链接地址对应的至少一个信息流,包括:从所述配置文件中获取所述至少一个第二链接地址对应的至少一个模板信息,从所述至少一个模板信息中获取所述至少一个第二链接地址对应的一个或多个原生控件描述信息,根据所述配置文件获取所述一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个信息流,其中,每个第二链接地址对应一个或多个模板信息,所述一个或多个模板信息中的每个模板信息包括一个或多个原生控件描述信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述配置文件还包括至少一个规则信息;其中,所述从所述配置文件中获取所述至少一个第二链接地址对应的至少一个模板信息,从所述至少一个模板信息中获取所述至少一个第二连接地址对应的一个或多个原生控件描述信息,根据所述配置文件获取所述一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的至少一个信息流,包括针对所述至少一个第二链接地址中的每个第二链接地址执行的如下操作:从所述配置文件中获取该第二链接地址对应的规则信息,从该规则信息中获取该第二链接地址对应的一个或多个模板信息,并从该一个或多个模板信息中获取该第二链接地址对应的一个或多个原生控件描述信息;根据该规则信息,获取该一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的一个或多个信息流。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述配置文件还包括至少一个链接相关信息与所述至少一个规则信息之间的映射关系;其中,所述从所述配置文件中获取该第二链接地址对应的规则信息,包括:将该第二链接地址与所述至少一个链接相关信息进行匹配,获得与第二链接地址相匹配的链接相关信息,根据所述映射关系,将所述链接相关信息对应的规则信息作为该第二链接地址对应的规则信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述根据该规则信息,获取该一个或多个原生控件描述信息中的至少一个原生控件描述信息对应的一个或多个信息流,包括:对于该一个或多个原生控件描述信息中的至少一个原生控件描述信息中的每个原生控件描述信息,获取该原生控件描述信息对应的文档对象信息,以及从该规则信息中获取该原生控件描述信息对应的信息流解析规则信息,并根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述文档对象信息为接口数据信息,所述信息流解析规则信息包括一个或多个字段路径信息;其中,所述获取该原生控件描述信息对应的文档对象信息,包括:获取该原生控件描述信息对应的接口地址信息;根据所述接口地址信息,请求获得该原生控件描述信息对应的接口数据信息;其中,所述根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流,包括:对于一个或多个字段路径信息中的每个字段路径信息,从该原生控件描述信息对应的接口数据信息中解析得到该字段路径信息对应的信息流。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述文档对象信息为Document信息,所述信息流解析规则信息包括一个或多个标签路径信息;其中,所述获取该原生控件描述信息对应的文档对象信息,包括:根据第一链接地址对应的HTML页面信息,获得该原生控件描述信息对应的Document信息,其中,所述第一链接地址为所述目标链接地址或该第二链接地址;其中,所述根据所述信息流解析规则信息,从所述文档对象信息中解析得到该原生控件描述信息对应的一个或多个信息流,包括:对于一个或多个标签路径信息中的每个标签路径信息,从该原生控件描述信息对应的HTML信息中解析得到该标签路径信息对应的信息流。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述配置文件还包括一个或多个第三链接地址及至少一个第二规则信息;其中,所述设备还用于:响应于所述当前页面中针对所述一个或多个第三链接地址中的目标第三链接地址的访问触发操作,从所述配置文件中获取所述目标第三链接地址对应的第二规则信息,从该第二规则信息中获取所述目标第三连接地址对应的一个或多个第二模板信息,并从该一个或多个第二模板信息中获取所述目标第三链接地址对应的一个或多个第二原生控件描述信息;根据该第二规则信息,获取该一个或多个第二原生控件描述信息中的至少一个第二原生控件描述信息对应的一个或多个信息流;创建该一个或多个第二原生控件描述信息对应的一个或多个第二原生控件,其中,所述一个或多个第二原生控件包括与所述至少一个第二原生控件描述信息对应的至少一个第二原生控件;将该一个或多个信息流绑定在该至少一个第二原生控件上,并根据该一个或多个第二模板信息将该一个或多个第二原生控件渲染在所述当前页面上。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述配置文件还包括一个或多个第四链接地址及至少一个第三规则信息;其中,所述设备还用于:响应于所述当前页面中针对所述一个或多个第四链接地址中的目标第四链接地址的访问触发操作,从所述当前页面跳转到所述目标第四链接地址对应的第二页面;从所述配置文件中获取所述目标第四链接地址对应的第三规则信息,并从该第三规则信息中获取所述目标第四链接地址对应的一个或多个第三模板信息,并从该一个或多个第三模板信息中获取所述目标第四链接地址对应的一个或多个第三原生控件描述信息;根据该第三规则信息,获取该一个或多个第三原生控件描述信息中的至少一个第三原生控件描述信息对应的一个或多个信息流;创建该一个或多个第三原生控件描述信息对应的一个或多个第三原生控件,其中,所述一个或多个第三原生控件包括与所述至少一个第三原生控件描述信息对应的至少一个第三原生控件;将该一个或多个信息流绑定在该至少一个第三原生控件上,并根据该一个或多个第三模板信息将该一个或多个第三原生控件渲染在在所述第二页面上。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述从该规则信息中获取该第二链接地址对应的一个或多个模板信息,包括:从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息,并获取所述一个或多个模板标识信息对应的一个或多个模板信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

在一些实施例中,所述从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息,并获取所述一个或多个模板标识信息对应的一个或多个模板信息,包括:从该规则信息中获取该第二链接地址对应的一个或多个模板标识信息及所述一个或多个模板标识信息中的至少一个模板标识信息对应的一个或多个模板样式扩展信息,以及获取所述一个或多个模板标识信息对应的一个或多个初始模板信息;根据所述一个或多个模板样式扩展信息及所述一个或多个初始模板信息,获得该第二链接地址对应的一个或多个模板信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。

图3示出了可被用于实施本申请中所述的各个实施例的示例性系统。

如图3所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。

对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。

系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。

系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。

对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。

例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。

NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。

(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。

对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例你如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。

在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、持有计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。

本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。

本申请还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个计算机程序;

当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。

通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。

作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。

在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

相关技术
  • 一种基于信息流的原生渲染的方法与设备
  • 一种融合多链接地址的信息流的原生渲染的方法与设备
技术分类

06120112231259