一种客户端软件开发方法及装置制造方法及图纸

技术编号:20517556 阅读:45 留言:0更新日期:2019-03-06 02:32
本发明专利技术提供了一种客户端软件开发方法及装置,将客户端分成业务逻辑层和页面展示层两个独立的层级结构;业务逻辑层负责进行所有数据和业务处理,得到处理结果数据,并将处理结果数据提供给页面展示层进行展示。同一软件针对不同系统平台的客户端,其业务处理逻辑都相同,因此,不同系统平台可以复用业务逻辑层,然后,针对不同系统平台分别实现页面展示层即可;即,不用针对不同的系统平台重复开发客户端,利用该方法最终跨平台的客户端开发,极大地提高了软件程序开发效率,同时,降低了开发成本。而且,两个独立的层级结构是解耦的,每一层的开发方案都可以单独替代,从而减少了后续替代某一个层级结构的开发方案的成本。

A Client Software Development Method and Device

The invention provides a client software development method and device, which divides the client into two independent hierarchical structures: business logic layer and page display layer. The business logic layer is responsible for all data and business processing, obtains the processing result data, and provides the processing result data to the page display layer for display. The same software has the same business processing logic for clients of different system platforms. Therefore, different system platforms can reuse business logic layer, and then realize page display layer for different system platforms. That is to say, instead of developing clients repeatedly for different system platforms, the ultimate cross-platform client development using this method greatly improves the software. Program development efficiency, at the same time, reduce the cost of development. Moreover, the two independent hierarchical structures are decoupled, and each development scheme can be replaced separately, thus reducing the cost of subsequent development alternatives to a certain hierarchical structure.

【技术实现步骤摘要】
一种客户端软件开发方法及装置
本专利技术属于计算机
,尤其涉及一种客户端软件开发方法及装置。
技术介绍
客户端(或称为用户端),是指与服务器相对应,为客户提供本地服务的程序。通常安装在普通的客户机(例如,PC机、智能手机、平板电脑等终端)上,需要与服务端相互配合运行。根据客户端的运行环境不同,客户端分为基于Web浏览器的Web客户端和基于iOS系统或Android系统的NativeAPP(即,原生应用)。不同平台的客户端所采用的编程语言不同,例如,AndroidAPP的开发语言是Java、iOSAPP的开发语言是Objective-C,WebAPP可以采用超文本标记语言(HyperTextMarkupLanguage,HTML)、层叠样式表(CascadingStyleSheets,CSS)、JavaScript等编程语言。因此,不同平台的客户端需要分别利用各自的编程语言开发,针对同一功能的客户端,软件开发人员需要分别编写三个客户端,这将极大地增加软件开发人员的工作量。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种客户端软件开发方法及装置,以解决现有技术中无法合理实现跨平台的客户端开发问题,其技术方案如下:第一方面,本申请提供一种客户端软件开发方法,包括:利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,所述业务逻辑层用于处理所述客户端的所有数据和业务处理;利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,所述页面展示层用于实现所述客户端的所有视图展示,所述目标系统平台包括:iOS系统、安卓系统或Web平台;根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据;将所述处理结果数据发送给所述目标页面展示层进行展示。可选地,所述利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,包括:按照所述客户端的业务逻辑创建状态数据结构,所述状态数据结构包括原生数据、经过action操作后的数据及进行业务逻辑处理之后的数据;利用基于JavaScript脚本语言的状态管理工具编写所述客户端的业务处理逻辑,所述业务处理逻辑用于根据业务处理需求从所述状态数据结构中读取待处理数据,并根据所述业务处理逻辑处理所述待处理数据,得到处理结果数据,并将所述处理结果数据存储到所述状态数据结构中。可选地,若所述目标系统平台为iOS系统或安卓系统,则所述利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,包括:利用JavaScript脚本语言编写所述客户端的每个展示页面所包含的组件;按照所述目标系统平台的页面显示逻辑,将所述组件转换成所述目标平台所能识别的页面配置文件;将所述页面配置文件编译到所述目标系统平台。可选地,若所述目标系统平台为Web平台,则所述利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,包括:利用Web系统平台的UI实现技术编写所述客户端的每个展示页面所包含的组件;按照所述目标系统平台的页面显示逻辑,将所述组件编译到所述目标系统平台。可选地,所述根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据,包括:利用Reselect函数计算所述业务逻辑层所要处理的数据,得到处理后的数据。第二方面,本申请提供一种客户端软件开发装置,包括:业务逻辑层获得单元,用于利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,所述业务逻辑层用于处理所述客户端的所有数据和业务处理;页面展示层获得单元,用于利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,所述页面展示层用于实现所述客户端的所有视图展示,所述目标系统平台包括:iOS系统、安卓系统或Web平台;数据映射单元,用于根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据,并将将所述处理结果数据发送给所述目标页面展示层进行展示。可选地,所述业务逻辑层获得单元,包括:数据结构创建子单元,用于按照所述客户端的业务逻辑创建状态数据结构,所述状态数据结构包括原生数据、经过action操作后的数据及进行业务逻辑处理之后的数据;业务逻辑实现子单元,用于利用基于JavaScript脚本语言的状态管理工具编写所述客户端的业务处理逻辑,所述业务处理逻辑用于根据业务处理需求从所述状态数据结构中读取待处理数据,并根据所述业务处理逻辑处理所述待处理数据,得到处理结果数据,并将所述处理结果数据存储到所述状态数据结构中。可选地,若所述目标系统平台为iOS系统或安卓系统,则所述页面展示层获得单元,包括:第一组件开发子单元,用于利用JavaScript脚本语言编写所述客户端的每个展示页面所包含的组件;组件组装子单元,用于按照所述目标系统平台的页面显示逻辑,将所述组件转换成所述目标平台所能识别的页面配置文件;第一编译子单元,用于将所述页面配置文件编译到所述目标系统平台。可选地,若所述目标系统平台为Web平台,则所述页面展示层获得单元,包括:第二组件开发子单元,用于利用Web系统平台的UI实现技术编写所述客户端的每个展示页面所包含的组件;第二编译子单元,用于按照所述目标系统平台的页面显示逻辑,将所述组件编译到所述目标系统平台。可选地,所述数据映射单元用于根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据时,具体用于:利用Reselect函数计算所述业务逻辑层所要处理的数据,得到处理后的数据。本申请提供的客户端软件开发方法,将客户端分成业务逻辑层和页面展示层两个独立的层级结构;业务逻辑层负责进行所有数据和业务处理,得到处理结果数据,并将处理结果数据提供给页面展示层进行展示。同一软件针对不同系统平台的客户端,其业务处理逻辑都相同,因此,不同系统平台可以复用业务逻辑层,然后,针对不同系统平台(例如,iOS系统、Android系统、Web系统)分别实现页面展示层即可;即,不用针对不同的系统平台重复开发客户端,利用该方法最终跨平台的客户端开发,极大地提高了软件程序开发效率,同时,降低了开发成本。而且,两个独立的层级结构是解耦的,每一层的开发方案都可以单独替代,从而减少了后续替代某一个层级结构的开发方案的成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例一种客户端软件开发方法的流程图;图2是本申请实施例一种实现页面展示层的流程图;图3是本申请实施例另一种实现页面展示层的流程图;图4是本申请实施例一种实现业务逻辑层的流程图;图5是本申请实施例一种客户端软件开发装置的框图;图6是本申请实施例一种业务逻辑层获得单元的框图;图7是本申请实施例一种页面展示层获得单元的框图;图8是本申请实施例另一种页面展示层获得单元的框图。具体实施方式不同系统平台所使用的编程语言不同,因此,同一功能的软件针对不同系统平台的客户端需要分别利用各自本文档来自技高网...

【技术保护点】
1.一种客户端软件开发方法,其特征在于,包括:利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,所述业务逻辑层用于处理所述客户端的所有数据和业务处理;利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,所述页面展示层用于实现所述客户端的所有视图展示,所述目标系统平台包括:iOS系统、安卓系统或Web平台;根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据;将所述处理结果数据发送给所述目标页面展示层进行展示。

【技术特征摘要】
1.一种客户端软件开发方法,其特征在于,包括:利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,所述业务逻辑层用于处理所述客户端的所有数据和业务处理;利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,所述页面展示层用于实现所述客户端的所有视图展示,所述目标系统平台包括:iOS系统、安卓系统或Web平台;根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据;将所述处理结果数据发送给所述目标页面展示层进行展示。2.根据权利要求1所述的方法,其特征在于,所述利用基于JavaScript脚本语言的状态管理工具编写客户端的业务逻辑层,包括:按照所述客户端的业务逻辑创建状态数据结构,所述状态数据结构包括原生数据、经过action操作后的数据及进行业务逻辑处理之后的数据;利用基于JavaScript脚本语言的状态管理工具编写所述客户端的业务处理逻辑,所述业务处理逻辑用于根据业务处理需求从所述状态数据结构中读取待处理数据,并根据所述业务处理逻辑处理所述待处理数据,得到处理结果数据,并将所述处理结果数据存储到所述状态数据结构中。3.根据权利要求1所述的方法,其特征在于,若所述目标系统平台为iOS系统或安卓系统,则所述利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,包括:利用JavaScript脚本语言编写所述客户端的每个展示页面所包含的组件;按照所述目标系统平台的页面显示逻辑,将所述组件转换成所述目标平台所能识别的页面配置文件;将所述页面配置文件编译到所述目标系统平台。4.根据权利要求1所述的方法,其特征在于,若所述目标系统平台为Web平台,则所述利用目标编程语言编写所述客户端的页面展示层,并将所述页面展示层对应的代码编译到目标系统平台,包括:利用Web系统平台的UI实现技术编写所述客户端的每个展示页面所包含的组件;按照所述目标系统平台的页面显示逻辑,将所述组件编译到所述目标系统平台。5.根据权利要求1所述的方法,其特征在于,所述根据所述业务逻辑层的业务处理逻辑处理待处理数据,得到处理结果数据,包括:利用Reselect函数计算所述业务逻辑层所要处理的数据,得到处理后的数据。6.一种客户端软件开发装置...

【专利技术属性】
技术研发人员:尹锋刘帅
申请(专利权)人:北京微影时代科技有限公司
类型:发明
国别省市:北京,11

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

1