一种跨平台应用软件开发架构系统的制作方法

文档序号:18463437发布日期:2019-08-17 02:14阅读:392来源:国知局
一种跨平台应用软件开发架构系统的制作方法

本发明涉及计算机应用软件开发技术领域,尤其涉及一种跨平台应用软件开发架构系统。



背景技术:

应用软件开发是指使用程序语言c#、java、c++、vb等高级语言编写,主要是用于商业、生活应用的软件的开发。对于跨平台、跨硬件设备的应用软件开发,目前现有的解决方案是根据操作系统的不同、硬件不同,开发不同版本的软件产品,然后再通过云端分布式部署多台服务器以提高系统的高可用性。例如:开发餐饮行业使用的pos软件,需要开发mac、windows、android等平台的客户端应用软件,并需要在云端部署高可用的架构,一旦云端服务器发生故障将会导致本地应用无法使用,并存在软件产品开发成本高、后期版本维护复杂程度高等问题。



技术实现要素:

针对上述现有技术的缺点,本发明的目的是提供一种能够兼容多种硬件终端设备的跨平台跨语言开发架构系统及方法,以解决现有技术中根据操作系统、硬件的不同,需要开发不同版本的软件产品,一旦云端服务器发生故障将会导致本地应用无法使用,并存在软件产品开发成本高、后期版本维护复杂等的问题。

本发明实施例提供的一种跨平台应用软件开发架构系统,包括:从前端到底层依次设置的用户界面层、业务逻辑层、硬件控制层、导入层和启动层,所述用户界面层、业务逻辑层、硬件控制层、导入层和启动层均采用同一套代码;

用户界面层,用于与不同的操作系统进行对接;

业务逻辑层,与硬件控制层和导入层进行数据交互,用来支撑用户界面层的操作,同时通过调用云端服务的api接口来实现业务服务;

硬件控制层,具有硬件共享指令以及路由逻辑接口,用于为整个系统提供硬件管理服务;

导入层,主动查找应用主机,并通过应用主机授权的方式,远程访问应用主机的交互页面和共享数据;

启动层,用于加载业务数据,自动更新架构版本,初始化浏览器、打印机硬件设备,实现各个跨语言模块的启动。

进一步地,上述跨平台应用软件开发架构系统所述用户界面层采用react框架编写而成,自带支持es6、websockets和css3的浏览器。

进一步地,上述跨平台应用软件开发架构系统,所述操作系统包括但不限于mac操作系统、windows操作系统、unix操作系统、linux操作系统、windowsxp操作系统和android操作系统。

进一步地,上述跨平台应用软件开发架构系统,所述业务逻辑层由javascript编写而成,完成应用软件的业务逻辑实现。

进一步地,上述跨平台应用软件开发架构系统,所述硬件控制层的硬件访问指令采用基于操作系统中硬件接口的默认驱动指令进行开发。

进一步地,上述跨平台应用软件开发架构系统,所述导入层采用go语言进行编写。

进一步地,上述跨平台应用软件开发架构系统,所述导入层包括通讯层和存储层。

进一步地,上述跨平台应用软件开发架构系统,所述通讯层用于负责跨语言、跨设备数据交互,所述存储层采用boltdb实现本地数据存储的高可用性。

进一步地,上述跨平台应用软件开发架构系统,所述通讯层通过websockets或者http/https方式推入或主动调用数据与云端接口实时通讯。

进一步地,上述跨平台应用软件开发架构系统,所述通讯层通过采用oauth2.0开放授权协议保证数据通讯的安全性。

与现有技术相比,本发明跨平台应用软件开发架构系统,包括从前端到底层依次设置的用户界面层、业务逻辑层、硬件控制层、导入层和启动层,所述用户界面层、业务逻辑层、硬件控制层、导入层和启动层均采用同一套代码,做到一次开发多套部署,提高了开发效率,降低了开发成本。本发明实施例用户界面层与不同的操作系统进行对接,兼容mac、windows、android等主流操作系统;业务逻辑层与硬件控制层和导入层进行数据交互,用来支撑用户界面层的操作,同时通过调用云端服务的api接口来实现业务服务;硬件控制层为整个系统提供硬件服务管理,拥有硬件共享以及路由逻辑;导入层可实现局域网内主动发现基于此架构开发的应用主机,通过主机授权的方式,可以远程访问主机的交互页面和共享数据;启动层实现各个跨语言模块的启动,同时提供加载业务数据,架构版本自动更新,初始化浏览器、打印机等硬件设备的功能。本发明实施例能够支持运行在几乎所有的终端设备上,同时做到了最大程度跨平台、跨硬件的兼容性,可以有效降低开发门槛,减少开发周期。

附图说明

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

图1为本发明提供的一种跨平台应用软件开发架构系统示意图。

具体实施方式

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

下面结合说明书附图对本发明实施例作进一步详细描述。

如图1所示,本发明实施例公开了一种跨平台应用软件开发架构系统,包括:从前端到底层依次设置的用户界面层、业务逻辑层、硬件控制层、导入层和启动层,所述用户界面层、业务逻辑层、硬件控制层、导入层和启动层均采用同一套代码,做到了最大程度跨平台、跨硬件的兼容性。

用户界面层,用于与不同的操作系统进行对接。

进一步地,上述跨平台应用软件开发架构系统,所述用户界面层采用react框架编写而成,自带支持es6、websockets和css3的浏览器。

react是一个javascript框架,用于构建″可预期的″和″声明式的″web用户界面。react会自动的管理用户界面更新当数据发生变化的时候。

进一步地,上述跨平台应用软件开发架构系统,所述操作系统包括但不限于mac操作系统、windows操作系统、unix操作系统、linux操作系统、windowsxp操作系统和android操作系统。

本发明实施例用户界面层作为客户端,基于react框架编写而成。具体地,移动端设备通过reactnative实现;桌面版通过用户界面层与不同的操作系统进行对接,兼容mac、windows、android等主流操作系统。本发明所有平台共享同一套代码,做到一次开发多套部署,提高开发效率,降低开发成本。

业务逻辑层,与硬件控制层和导入层进行数据交互,用来支撑用户界面层的操作,同时通过调用云端服务的api接口来实现业务服务。

进一步地,上述跨平台应用软件开发架构系统,所述业务逻辑层由javascript编写而成,完成应用软件的业务逻辑实现。

发明实施例在外部网络发生故障时,业务逻辑层可以提供基础业务功能,保证系统的基本可用性。当业务逻辑层部署的主机服务发生故障时,从机服务可以接管应用服务,保证系统正常运转。本发明实施例业务逻辑层通过提供主从模式,实现应用的分布式部署,解决高可用的问题。

硬件控制层,具有硬件共享指令以及路由逻辑接口,用于为整个系统提供硬件管理服务。

本发明实施例硬件控制层为整个系统提供硬件服务管理,拥有硬件共享以及路由逻辑接口。例如:通过业务逻辑层注册了多台打印机,基于架构开发的应用通过硬件控制层访问业务逻辑层,发现硬件并发送打印指令,实现打印机共享,硬件控制层会根据配置路由指定打印机完成打印工作。

本发明实施例硬件控制层的硬件访问指令采用基于操作系统中硬件接口的默认驱动指令进行开发,最大限度的保证了硬件的兼容性,无需依赖硬件厂商提供的sdk驱动即可确保硬件正常工作。

导入层,主动查找应用主机,并通过应用主机授权的方式,远程访问应用主机的交互页面和共享数据;

本发明实施中,为了解决跨多种开发语言的问题,所述导入层采用go语言进行编写。go语言自带属性可兼容不同cpu架构指令(如arm指令、移动指令执行、enter指令等),并兼容mac、小米盒子等。

进一步地,上述跨平台应用软件开发架构系统,所述导入层包括通讯层和存储层。所述通讯层用于负责跨语言、跨设备数据交互,支持分布式部署,所述存储层采用boltdb实现本地数据存储的高可用性。

进一步地,上述跨平台应用软件开发架构系统,所述通讯层通过websockets或者http/https方式推入或主动调用数据与云端接口实时通讯。

进一步地,上述跨平台应用软件开发架构系统,所述通讯层通过采用oauth2.0开放授权协议保证数据通讯的安全性。

本发明实施例在业务数据更新时,可以通过导入层与云端接口实时通讯。优选地,在网络状态良好的情况下,导入层优先与云端进行实时在线通讯。

启动层,用于加载业务数据,自动更新架构版本,初始化浏览器、打印机硬件设备,实现各个跨语言模块的启动。

本发明实施例启动层用于实现各个跨语言模块的启动,同时提供加载业务数据,架构版本自动更新,初始化浏览器、打印机等硬件设备的功能。

本发明实施例能够支持运行在几乎所有的终端设备上,包括但不限于pc、pda和手持设备等,同时做到了最大程度跨平台、跨硬件的兼容性,提高了系统的高可用性。

综上,本发明基于微服务架构的设计理念,提供了一种兼容多种硬件终端的跨平台跨语言开发架构系统,实现了应用软件的″实时、云优先、高可用性″的分布式服务处理。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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