一种用户界面渲染方法及装置制造方法及图纸

技术编号:19023063 阅读:28 留言:0更新日期:2018-09-26 18:59
本申请公开了一种用户界面渲染方法及装置。本申请中,动态语言应用运行平台中预加载有渲染引擎,该方法包括:第一线程获取待处理的用户界面渲染事件,所述第一线程为所述动态语言应用运行平台中的线程;第一线程获取所述事件对应的用于调用渲染引擎的接口,根据获取到的用于调用渲染引擎的接口调用所述渲染引擎提供的相应用户界面渲染功能。采用本申请可实现动态语言应用运行平台与渲染引擎的融合。

【技术实现步骤摘要】
一种用户界面渲染方法及装置
本申请涉及计算机
,尤其涉及一种用户界面渲染方法及装置。
技术介绍
JavaScript是一种动态语言,因其高效、动态、易用等特点越来越受到开发者的欢迎。Node.js是JavaScript运行环境(runtime)或称运行平台,提供了多种系统级的应用程序编程接口(ApplicationProgrammingInterface,API),用于方便地搭建响应速度快、易于扩展的应用程序。JavaScript程序的运行依赖JavaScript解释器,在前端开发中,浏览器提供了这样的环境。而Node.js提供了一套脱离浏览器的JavaScript运行环境,主要应用于后台服务器开发。渲染引擎用于实现对用户界面的渲染。如何在Node.js中集成用户界面渲染能力,是目前业界需要解决的问题。
技术实现思路
本申请实施例提供一种用户界面渲染方法及装置。本申请实施例提供的用户界面渲染方法中,动态语言应用运行平台中预加载有渲染引擎,所述方法包括:第一线程获取待处理的用户界面渲染事件,所述第一线程为所述动态语言应用运行平台中的线程;所述第一线程根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能。本申请实施例提供的用户界面渲染装置,包括:获取单元,用于获取待处理的用户界面渲染事件,所述第一线程为动态语言应用运行平台中的线程;其中,所述动态语言应用运行平台中预加载有渲染引擎;第一处理单元,用于根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能。本申请实施例提供的一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行上述方法。本申请实施例提供的通信设备,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述方法。本申请的上述实施例中,动态语言应用运行平台中预加载有渲染引擎,该平台中的第一线程获取到待处理的用户界面渲染事件后,可根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能,从而可在该平台中基于渲染引擎实现用户界面渲染,实现了在该平台中集成用户界面渲染能力。附图说明本申请的实施例通过示例而非限制的方式示出在所附附图中,类似的附图标记表示类似的元素。图1根据一些实施例示例性地示出了操作系统架构100;图2根据一些实施例示例性地示出了预加载有渲染引擎的Node.js的示意图;图3根据一些实施例示例性地示出了渲染引擎的接口映射关系示意图;图4根据一些实施例示例性地示出了预加载渲染引擎后Node.js资源的示意图;图5根据一些实施例示例性地示出了渲染引擎的结构示意图;图6根据一些实施例示例性地示出了Node.js预加载示意图;图7根据一些实施例示例性地示出了用户界面渲染流程示意图;图8为根据一些实施例示例性地示出了事件循环机制示意图;图9根据一些实施例示例性地示出了用户界面渲染装置的结构示意图;图10根据一些实施例示例性地示出了一种装置示意图。具体实施方式虽然本申请的概念易于进行各种修改和替代形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应当理解,没有意图将本申请的概念限制为所公开的特定形式,而是相反,意图是覆盖与本申请以及所附权利要求一致的所有修改、等同物和替代物。说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用,指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可以或可以不必包括特定特征、结构或特性。此外,这样的短语不一定指的是相同的实施例。进一步地,认为在本领域技术人员的知识范围内,当结合实施例描述特定特征、结构或特性时,结合无论是否明确描述的其它实施例影响这样的特征,结构或特性。另外,应当理解,以“A,B和C中的至少一个”的形式包括在列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。类似地,以“A,B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。在一些情况下,所公开的实施例可以在硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式(例如,易失性或非易失性存储器、介质盘或其他介质)存储或传输信息的任何存储设备,机制或其他物理结构的设备)。在附图中,一些结构或方法特征可以以特定布置和/或顺序示出。然而,应当理解,可能不需要这样的具体布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示不同的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示这种特征在所有实施例中都是需要的,并且在一些实施例中可以不包括或可以与其他特征组合。操作系统用于向用户应用提供操作系统的基础能力,可基于动态语言应用运行平台实现,从而为动态语言应用提供运行环境。其中,Node.js即为JavaScript的运行环境或运行平台。动态语言应用运行平台中预加载有多种模块,称为公共模,用于提供特定功能,比如系统服务功能。其中,动态语言是计算机编程语言中的一个语言类别,是一类在运行时可以动态地改变类型、结构的语言,在运行时函数和属性可以被增加、修改和删除。例如JavaScript、Python、Ruby等都属于动态语言。动态语言不需要编译即可运行,在运行时需要运行环境的支撑,这个环境叫做运行时环境,它包含动态语言运行所需要的所有要素,例如Java虚拟机、JavaScript引擎等。以云操作系统(云OS)中的Host系统为例,它可基于Node.js实现。Node.js是JavaScript的运行环境,是建立在Chrome上的JavaScript引擎的Web应用程序框架,也就是说,操作系统基于Node.js向用户应用提供操作系统的基础能力。Node.js中包括多种模块,称为公共模块,这些模块可通过将用于实现特定功能的代码(比如实现操作系统级服务功能的代码)进行封装得到,比如可封装为组件形式,例如这些模块中可包括实现全球定位系统(GlobalPositioningSystem,简称GPS)定位功能的组件、实现电源管理功能的组件等。这些模块的接口被暴露给应用层,应用层中的应用程序可通过调用这些模块的接口,通过JavaScript引擎解析模块中的代码,执行这些模块提供的方法,从而实现这些模块提供的功能。目前,后台服务器应用一般运行于Node.js。后台服务器应用的用户界面使用渲染引擎进行渲染。而渲染引擎大多专注于图形界面渲染,忽略了编程所需的其他公共模块的集成。使用这样的渲染引擎进行用户界面开发,需要编写或集成大量的公共模块,效率低下。Node.js虽然提供了丰富的JavaScriptAPI,开发者可以利用它提供的模块快速开发功能,但缺失了用户界面渲染能力。对此,本申请实施例提供了一种将渲染引擎与Node.js相融合的方案。下面结合本文档来自技高网...

【技术保护点】
1.一种用户界面渲染方法,其特征在于,动态语言应用运行平台中预加载有渲染引擎,所述方法包括:第一线程获取待处理的用户界面渲染事件,所述第一线程为所述动态语言应用运行平台中的线程;所述第一线程根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能。

【技术特征摘要】
1.一种用户界面渲染方法,其特征在于,动态语言应用运行平台中预加载有渲染引擎,所述方法包括:第一线程获取待处理的用户界面渲染事件,所述第一线程为所述动态语言应用运行平台中的线程;所述第一线程根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能。2.如权利要求1所述的方法,其特征在于,所述动态语言应用运行平台中还预加载有公共模块,所述方法还包括:所述第一线程根据所述事件对应的用于调用公共模块的接口,调用所述公共模块提供的相应公共功能。3.如权利要求2所述的方法,其特征在于,所述公共模块包括以下模块中的一种或多种:网络模块,用于提供网络连接功能;系统模块,用于提供系统服务功能。4.如权利要求1至3中任一项所述的方法,其特征在于,所述渲染引擎提供的接口包括第一语言接口,所述第一语言接口被映射为第二语言接口,所述第一语言接口用于调用所述渲染引擎中基于所述第一语言提供的用户界面渲染功能,所述第二语言为所述动态语言应用运行平台支持的动态语言;所述第一线程根据所述事件对应的用于调用渲染引擎的接口,调用所述渲染引擎提供的相应用户界面渲染功能,包括:所述第一线程获取所述事件对应的用于调用渲染引擎的第二语言接口,将获取到的第二语言接口映射为对应的第一语言接口,根据映射得到的第一语言接口调用所述渲染引擎提供的相应用户界面渲染功能。5.如权利要求4所述的方法,其特征在于,根据映射得到的第一语言接口调用所述渲染引擎提供的相应用户界面渲染功能,包括:所述第一线程向第二语言虚拟机发送调用指令,所述调用指令中包括用于调用渲染引擎的第二语言接口;所述第二语言虚拟机将所述第二语言接口映射为对应的第一语言接口,并基于映射得到的第一语言接口调用所述渲染引擎提供的相应用户界面渲染功能。6.如权利要求1至3中任一项所述的方法,其特征在于,第一线程获取待处理的用户界面渲染事件,包括:所述第一线程在接收到回调函数的通知后,从所述动态语言应用运行平台事件队列中获取待处理的用户界面渲染事件;其中,所述回调函数用于在有用户界面渲染事件进入所述事件队列时通知所述第一线程。7.如权利要求6所述的方法,其特征在于,还包括:第二线程从操作系统接收操作系统相关事件,并将所述操作系统相关事件存储在所述事件队列;其中,所述操作系统相关事件中包括用户界面渲染事件。8.如权利要求1至3中任一项所述的方法,其特征在于,还包括:所述动态语言应用运行平台启动时,将所述渲染引擎提供的第一语言接口映射为第二语言接口,并保存所述渲染引擎提供的第一语言接口与映射得到的第二语言接口之间的映射关系信息;将接口映...

【专利技术属性】
技术研发人员:刘铮曾旭马永才姜立娣沈轲戎金德才张翀徐庆贺
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1