一种跨平台窗口管理的实现方法及系统与流程

文档序号:14940752发布日期:2018-07-13 20:40阅读:216来源:国知局

本发明涉及计算机领域,特别涉及一种跨平台窗口管理的实现方法、系统、一种计算机可读存储介质及一种跨平台窗口管理的设备。



背景技术:

窗口是大部分应用程序中重要的组成部分,其承担了应用程序的结果展示、交互等功能。

如今大量的应用程序都有多操作系统运行的需求,但是由于各个系统存在一定的差异性,因此在跨平台进行窗口管理的过程中会导致窗口不能够完全适应的情况,降低了应用程序的开发效率并且增加了跨平台管理的难度。

因此,如何使跨平台管理窗口时使各窗口均有良好且一致的表现,提高应用程序的开发效率,并且降低跨平台管理的难度是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种跨平台窗口管理的实现方法、系统、一种计算机可读存储介质及一种跨平台窗口管理的设备,能够使跨平台管理窗口时使各窗口均有良好且一致的表现,提高应用程序的开发效率,并且降低跨平台管理的难度。

为解决上述技术问题,本申请提供一种跨平台窗口管理的实现方法,该方法包括:

确定目标窗口的每个相关功能;其中,所述相关功能包括所述目标窗口所能实现的基本功能和管理所述目标窗口所需的基本功能;

获取所述相关功能在每个目标平台上的差异性代码,并在api层面对所述差异性代码进行封装以便获得统一的功能接口。

可选的,所述相关功能包括统一的窗口创建、窗口销毁和窗口查找。

可选的,获取所述相关功能在每个目标平台上的差异性代码之前,还包括:

获取所有所述目标窗口统一的窗口对象类、窗口管理类和窗口特性支持类。

可选的,若所述相关功能为驱动窗口消息,则在api层面对所述差异性代码进行封装以便获得统一的功能接口包括:

在api层面对所述差异性代码进行统一的接口封装,得到消息驱动函数。

本申请还提供了一种跨平台窗口管理的实现系统,该系统包括:

功能确定模块,用于确定目标窗口的每个相关功能;其中,所述相关功能包括所述目标窗口所能实现的基本功能和管理所述目标窗口所需的基本功能;

封装模块,用于获取所述相关功能在每个目标平台上的差异性代码,并在api层面对所述差异性代码进行封装以便获得统一的功能接口。

可选的,所述相关功能包括统一的窗口创建、窗口销毁和窗口查找。

可选的,还包括:

类获取模块,用于获取所有所述目标窗口统一的窗口对象类、窗口管理类和窗口特性支持类。

可选的,若所述相关功能为驱动窗口消息,则所述封装模块具体为在api层面对所述差异性代码进行统一的接口封装,得到消息驱动函数的模块。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述跨平台窗口管理的实现方法执行的步骤。

本申请还提供了一种跨平台窗口管理的设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述跨平台窗口管理的实现方法执行的步骤。

本发明提供了一种跨平台窗口管理的实现方法,该实现方法包括确定目标窗口的每个相关功能;其中,所述相关功能包括所述目标窗口所能实现的基本功能和管理所述目标窗口所需的基本功能;获取所述相关功能在每个目标平台上的差异性代码,并在api层面对所述差异性代码进行封装以便获得统一的功能接口。

在不同的平台上的窗口有着不同的程序代码,不同平台上的窗口的差异性代码就是导致在跨平台进行窗口管理的过程中会导致窗口不能够完全适应的主要原因。本发明通过根据目标窗口所能实现的功能和管理所述目标窗口的功能获取目标窗口的相关功能在每个目标平台上的差异性代码,对上述差异性代码进行封装可以得到统一的功能接口,在不同平台上通过统一的功能接口调用相关窗口可以避免在跨平台进行窗口管理的过程中会导致窗口不能够完全适应的情况。通过上述方法,上层应用无需依据当前操作系统的区别而采取额外的措施来保证应用程序与操作系统的兼容性,由于向上层应用暴露的api都是平台无关的,当api在实现时,需要为支持的操作系统实现与之相匹配的功能实现,该功能实现需要与api描述相一致。本方案能够使跨平台管理窗口时使各窗口均有良好且一致的表现,提高应用程序的开发效率,并且降低跨平台管理的难度。本申请同时还提供了一种跨平台窗口管理的实现系统、一种计算机可读存储介质和一种跨平台窗口管理的设备,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种跨平台窗口管理的实现方法的流程图;

图2为本申请实施例所提供的一种跨平台窗口管理的实现系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种跨平台窗口管理的实现方法的流程图。

具体步骤可以包括:

s101:确定目标窗口的每个相关功能;其中,所述相关功能包括所述目标窗口所能实现的基本功能和管理所述目标窗口所需的基本功能;

其中,本步骤的目的在于获取有关目标窗口的所有相关功能,上述相关功能可以分为两类,第一类是该目标窗口所能实现的基本功能(如,查找功能),第二类为管理该目标窗口的基本功能(如:创建窗口功能、销毁窗口功能)。可以理解的是,目标窗口代码的编写就是根据目标窗口所能实现的功能和管理该目标窗口的功能进行编写的,因此在已经确定目标窗口的相关功能的前提下,可以进行目标窗口代码的编写工作。当然,目标窗口的相关功能可以是任意个,此处不对目标窗口的相关功能进行限定,技术人员可以根据目标窗口的实际情况进行设定。值得一提的是,在本步骤中确定的是目标窗口的每个相关功能,也就是说确定目标窗口的全部相关功能。

当然,作为一种更优选的实施方式,还可以在获取相关功能在每个目标平台上的差异性代码之前,还可以包括:获取所有目标窗口统一的窗口对象类、窗口管理类和窗口对象支持类。在获得统一的窗口对象类、窗口管理类和窗口对象支持类的基础上,可以根据下层的功能进行上层的代码编写。窗口对象类是向上层应用暴露的抽象窗口对象,通过面向对象语言(如:c++)的多态特性,上层应用调用窗口对象类的操作函数时可以正确调用各操作系统下针对该操作函数的实际函数实现。窗口对象类是基类,可以针对不同的操作系统,从该类进行派生并实现与当前操作系统相匹配的窗口功能实现。窗口管理类是向上层应用暴露的窗口对象管理器,能够对窗口对象进行管理。窗口特性支持类包括但是不限于指定窗口样式、窗口名称、窗口消息接收函数等。

s102:获取所述相关功能在每个目标平台上的差异性代码,并在api层面对所述差异性代码进行封装以便获得统一的功能接口。

其中,在本步骤中提到的相关功能是指目标窗口全部的相关功能,若出现封装遗漏的情况可能会造成跨平台窗口管理不适应的情况。本步骤中提到的封装是指隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。也就是说,在对差异性代码进行封装后,能够将不同平台对应的窗口的程序代码之中不同的部分隐藏起来,以避免出现跨平台管理不适应的情况。值得注意的是,本方案是在api(applicationprogramminginterface,应用程序编程接口)层面对操作程序系统中目标窗口的差异性代码进行封装的。其中,在对差异性进行封装之后会暴露出不同平台下目标窗口程序之间的共性功能,进而在实现层面根据各个操作系统本身的区别进行编码,从而达到同一套应用程序编程接口(api)跨平台使用的目的。举例说明,如相关功能为驱动窗口消息,则可以根据封装后的差异性代码得到消息驱动函数,并将所述消息驱动函数作为统一的功能接口。针对上述例子,作为一种优选的实施方式可以将所述目标窗口在每个所述目标平台上的窗口消息进行统一映射,得到消息驱动函数,并将所述消息驱动函数作为统一的功能接口。

本实施例在可以在对目标窗口的代码的编写过程中,提供统一的窗口消息对象以及窗口的消息驱动。上层应用可以在不同的操作系统中,接收到统一的窗口消息内容。

在不同的平台上的窗口有着不同的程序代码,不同平台上的窗口的差异性代码就是导致在跨平台进行窗口管理的过程中会导致窗口不能够完全适应的主要原因。本发明通过根据目标窗口所能实现的功能和管理所述目标窗口的功能获取目标窗口的相关功能在每个目标平台上的差异性代码,对上述差异性代码进行封装可以得到统一的功能接口,在不同平台上通过统一的功能接口调用相关窗口可以避免在跨平台进行窗口管理的过程中会导致窗口不能够完全适应的情况。通过上述方法,上层应用无需依据当前操作系统的区别而采取额外的措施来保证应用程序与操作系统的兼容性,由于向上层应用暴露的api都是平台无关的,当api在实现时,需要为支持的操作系统实现与之相匹配的功能实现,该功能实现需要与api描述相一致。本方案能够使跨平台管理窗口时使各窗口均有良好且一致的表现,提高应用程序的开发效率,并且降低跨平台管理的难度。

请参见图2,图2为本申请实施例所提供的一种跨平台窗口管理的实现系统的结构示意图;

该系统可以包括:

功能确定模块100,用于确定目标窗口的每个相关功能;其中,所述相关功能包括所述目标窗口所能实现的基本功能和管理所述目标窗口所需的基本功能;

封装模块200,用于获取所述相关功能在每个目标平台上的差异性代码,并在api层面对所述差异性代码进行封装以便获得统一的功能接口。

在本申请提供的一种更优选的跨平台窗口管理的实现系统的实施例中,进一步的,所述相关功能包括统一的窗口创建、窗口销毁和窗口查找。

进一步的,还包括:

类获取模块,用于获取所有所述目标窗口统一的窗口对象类、窗口管理类和窗口特性支持类。

进一步的,若所述相关功能为驱动窗口消息,则所述封装模块具体为在api层面对所述差异性代码进行统一的接口封装,得到消息驱动函数的模块。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种跨平台窗口管理的设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述跨平台窗口管理的实现设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1