应用界面渲染方法及装置的制造方法

文档序号:9597158阅读:252来源:国知局
应用界面渲染方法及装置的制造方法
【技术领域】
[0001] 本申请涉及应用界面渲染技术领域,特别是涉及应用界面渲染方法及装置。
【背景技术】
[0002] 移动终端应用(App)的本质就是无数个界面的集合,因此,在传统的移动终端App 开发技术中,对于一个移动终端App产品,从开发到最终用户使用一般需要经过如下过程:
[0003] 第一步:将App中所有界面模块开发测试完,并将界面代码打包成一个完整的满 足发布要求的App安装包;
[0004] 第二步:将App安装包发布到各种渠道,例如,应用商品店(Appstore)等),供用 户下载安装App ;
[0005] 第三步:用户到某一渠道下载应用安装包,将App安装到自己的移动终端上,开始 使用App。
[0006] 这样的开发步骤决定了现有的App开发至少会遇到以下问题:无论是新功能开 发,还是bug修复,或是实现方案调整优化,都需要经过从App发布新版本到用户终端设备 升级到新版这个过程,才能最终让用户使用到。例如,对于终端设备中已经安装的App,在有 新版本发布时,服务器一般会将新版本的更新信息推送到Appstore等渠道,用户需要手动 进入Appstore具体的更新界面,触发应用的更新,相应的,服务器可以把更新后的代码等 数据发送到终端设备,完成App的升级等过程。在用户手动执行更新之前,虽然用户可以继 续使用该App,但是无法使用到App的最新功能。
[0007] 另一方面,存在一种Hybird开发模式,这种方式的原理是,将应用的界面数据保 存在服务器端,客户端将移动的API通过系统中的webview映射成JavaScript接供HTML5 使用。这种方式下,如果开发者需要更新应用的界面数据,则只需要在服务器端进行更新即 可,不需要修改客户端的代码,因此,不再存在向客户端发布新版本等过程,用户可以及时 使用到更新后的功能。
[0008] 如果能够将Hybird技术应用到移动终端的App开发过程中,则可以解决前述问 题,但是,使用Hybird技术开发的App -般是用HTML5以及JavaScript编写的,这种语言 无法直接被移动终端中的原生代码调用,因此,必须借助于浏览器内核(例如webkit),并 通过webview进行转换,才能在移动终端中运行。也就是说,如果在移动终端中使用Hybird 开发模式,则需要借助于移动终端中安装的浏览器进行界面的展现,这会严重依赖手机操 作系统中的浏览器内核webkit,而webkit是一个通用浏览器内核,发源于传统PC浏览器技 术,承载了太多传统PC上的web技术,而这其中有相当一部分并不适用于移动终端,使得整 个技术方案的核心显得极其笨重,也因此暴漏出一些问题。例如:
[0009] 首先,所有的JavaScript都需要通过webview的中转才能映射到移动的native 层中,因此,开发者对于JavaScript与webview之间以及webview与native之间的转换关 系都需要进行定义,开发成本比较高;
[0010] 其次,受到PC浏览器技术固有的一些安全规则限制,对本地的各种服务和资源访 问受限,包括本地文件系统或网络跨域等,例如,如果某应用需要调用移动终端设备中的相 机功能,则可能会出现无法调用等情况;
[0011] 再者,对各提供的新特性的使用受限于webkit内核的支持,而webkit由于其要兼 容继承的东西太多,一般发展会比较缓慢,这就导致hybird方案无法及时使用移动终端上 各种新技术提高产品体验,例如,其就不能顺畅的使用移动终端上特有的各种传感器技术 等。
[0012] 可见,如何让用户更为及时地使用到App的最新功能,同时又避免hybird方案的 各种缺陷,是迫切需要本领域技术人员解决的技术问题。

【发明内容】

[0013] 本申请提供了应用界面渲染方法及装置,可以让用户更为及时地使用到App的最 新功能,同时又避免hybird方案的各种缺陷。
[0014] 本申请提供了如下方案:
[0015] -种应用界面渲染方法,应用的客户端中设有SDK包,所述SDK包中包括一渲染引 擎,所述渲染引擎中保存有界面数据中定义的组件信息与当前终端设备中的原生组件之间 的第一对应关系,所述方法包括,通过所述渲染引擎完成以下操作:
[0016] 在接收到展示所述应用的指定界面的请求时,向服务器请求该应用的所述指定界 面的界面数据;
[0017] 接收到服务器返回的界面数据后,对所述界面数据进行解析,获得所述界面数据 中定义的组件信息;
[0018] 根据所述第一对应关系,将所述界面数据中定义的组件信息映射为当前终端设备 中的原生组件;
[0019] 对所述原生组件进行渲染,以用于展示所述指定界面。
[0020] 一种应用界面渲染方法,其特征在于,包括:
[0021] 接收客户端发送的展示指定界面的请求;
[0022] 向所述客户端返回所述指定界面的界面数据,以便所述客户端中集成的SDK包中 包含的渲染引擎接收到服务器返回的界面数据后,对所述界面数据进行解析,获得所述界 面数据中定义的组件信息,根据预先保存的第一对应关系,将所述界面数据中定义的组件 信息映射为当前终端设备中的原生组件,并对所述原生组件进行渲染,以用于展示所述指 定界面;其中,所述应用的界面数据保存在应用的服务器端,所述第一对应关系为界面数据 中定义的组件信息与当前终端设备中的原生组件之间的对应关系。
[0023] -种应用界面渲染装置,所述装置中设有SDK包,所述SDK包中包括所述渲染引 擎,所述渲染引擎中保存有界面数据中定义的组件信息与当前终端设备中的原生组件之间 的第一对应关系,所述渲染引擎包括:
[0024] 数据请求单元,用于在接收到展示所述应用的指定界面的请求时,向服务器请求 该应用的所述指定界面的界面数据;
[0025] 数据解析单元,用于接收到服务器返回的界面数据后,对所述界面数据进行解析, 获得所述界面数据中定义的组件信息;
[0026] 组件映射单元,用于根据所述第一对应关系,将所述界面数据中定义的组件信息 映射为当前终端设备中的原生组件;
[0027] 渲染单元,用于对所述原生组件进行渲染,以用于展示所述指定界面。
[0028] 一种应用界面渲染装置,其特征在于,包括:
[0029] 请求接收单元,用于接收客户端发送的展示指定界面的请求;
[0030] 数据返回单元,用于向所述客户端返回所述指定界面的界面数据,以便所述客户 端中集成的SDK包中包含的渲染引擎接收到服务器返回的界面数据后,对所述界面数据进 行解析,获得所述界面数据中定义的组件信息,根据预先保存的第一对应关系,将所述界面 数据中定义的组件信息映射为当前终端设备中的原生组件,并对所述原生组件进行渲染, 以用于展示所述指定界面;其中,所述应用的界面数据保存在应用的服务器端,所述第一对 应关系为界面数据中定义的组件信息与当前终端设备中的原生组件之间的对应关系。
[0031] 根据本申请提供的具体实施例,本申请公开了以下技术效果:
[0032] 通过本申请实施例,由于Dynative可以将界面数据中定义的组件直接映射成移 动终端中的原生组件,因此,可以直接调用移动终端设备中的原生代码对界面进行渲染,而 不再依赖于浏览器的Webkit内核以及Webview,也就是说,使用JS0N等数据格式编写的界 面数据,可以像移动终端中的原生应用一样在中被执行,因此,对于使用移动终端中的各种 新功能等都具有良好的适应性,可以让用户更为及时地使用到App的最新功能,同时又避 免hybird方案的各种缺陷。
[0033] 当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0034] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0035] 图1是本申请实施例提供的一界面示意图;
[0036] 图2是本申请实施例提供的方法的流程图;
[0037] 图3-1是本申请实施例提供的逻辑树结构示意图;
[0038] 图3-2是本申请实施例提供的一物理树结构示意图;
[0039] 图3-3是本申请实施例提供的另一物理树结构示意图;
[0040] 图4是Hybird方案中的界面代码示意图;
[0041] 图5是Hybird方案中的另一界面代码示意图
[0042] 图6是Hybird系统结构示意图;
[0043] 图7是本申请实施例提供的方案中的界面代码的示意图;
[0044] 图8是本申请实施例提供的系统结构示意图;
[0045] 图9是本申请实施例提供的另一方法流程图;
[0046] 图10是本申请实施例提供的渲染装置示意图;
[0047] 图11是本申请实施例提供的服务器端装置示意图。
【具体实施方式】
[0048] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的 范围。
[0049] 在本申请实施例中,提供了一种新型的渲染引擎(将其称为Dynative),同时提 供了 Dynative协议,开发人员可以按照Dynative协议来开发自己的应用,编写界面数 据,开发完成之后,只需要将这种界面数据保存在服务器端,并在应用的客户端中集成该 Dynative渲染引擎,Dynative就可以将这种界面数据映射到具体的移动终端中运行,并实 现相应的功能。为了便于理解,下面首先对Dynative协议进行介绍。
[0050] 由于组件是用户界面(UI)的基本组成元素,因此,在Dynative协议中定义了多种 组件,开发人员可以按照Dynative协议中定义的组件信息进行界面数据的编写。其中,所 谓组件,是指可以在移动终端屏幕上展现的一个区块。
[0051] 例如,Dynative协议中定义了图片组件、文本组件、列表组件、面板组件等,并对各
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1