一种应用程序的生成方法及设备与流程

文档序号:17924528发布日期:2019-06-15 00:19阅读:189来源:国知局
一种应用程序的生成方法及设备与流程

本发明属于软件程序技术领域,尤其涉及一种应用程序的生成方法及设备。



背景技术:

随着应用程序或网络页面等技术的不断进步,上述应用项目的功能不断增加,往往需要多个开发团队对不同的功能分别开发。然而现有的开发技术,应用项目的编译以及部署需要等待所有功能的代码开发完成后才能执行,若不同功能模块的编译的进度不一致,则较早开发完成的团队需要等待后续团队的代码编写完成后才可以进行编译,从而大大降低了应用项目的开发效率,延长了开发周期。



技术实现要素:

有鉴于此,本发明实施例提供了一种应用程序的生成方法及设备,以解决现有的应用程序的生成技术,若不同功能模块的编译的进度不一致,则较早开发完成的团队需要等待后续团队的代码编写完成后才可以进行编译,从而导致应用项目的开发效率低,以及开发周期长的问题。

本发明实施例的第一方面提供了一种应用程序的生成方法,包括:

获取应用程序的程序描述文档;所述程序描述文档包含所述应用程序的功能模块列表以及程序类型;

从核心组件库中选取与所述程序类型匹配的目标核心组件,并根据所有所述目标核心组件构建所述应用程序的公共核心模块;

为所述功能模块列表内的各个功能模块配置模块标识,并基于所述模块标识在所述公共核心模块内创建所述功能模块关联的访问路径;

确定各个所述功能模块的模块类型,下载所述模块类型对应的开发环境;

将所述功能模块的源码数据导入到所述开发环境,生成关于所述功能模块的程序子文件;

根据所述公共核心模块以及各个所述功能模块的所述访问路径和所述程序子文件,生成所述应用程序的程序文件。

本发明实施例的第二方面提供了一种应用程序的生成设备,包括:

程序描述文档获取单元,用于获取应用程序的程序描述文档;所述程序描述文档包含所述应用程序的功能模块列表以及程序类型;

公共核心模块生成单元,用于从核心组件库中选取与所述程序类型匹配的目标核心组件,并根据所有所述目标核心组件构建所述应用程序的公共核心模块;

访问路径创建单元,用于为所述功能模块列表内的各个功能模块配置模块标识,并基于所述模块标识在所述公共核心模块内创建所述功能模块关联的访问路径;

开发环境下载单元,用于确定各个所述功能模块的模块类型,下载所述模块类型对应的开发环境;

程序子文件生成单元,用于将所述功能模块的源码数据导入到所述开发环境,生成关于所述功能模块的程序子文件;

程序文件生成单元,用于根据所述公共核心模块以及各个所述功能模块的所述访问路径和所述程序子文件,生成所述应用程序的程序文件。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。

实施本发明实施例提供的一种应用程序的生成方法及设备具有以下有益效果:

本发明实施例通过在开发应用程序的程序文件时,根据应用程序的程序描述信息,建立该应用程序的核心公共模块,从而将应用程序的核心部分从各个功能模块处抽离,减少了不同功能模块之间的耦合度,实现了各个功能模块之间相互独立的目的;为了便于不同功能模块可以独立进行编译,还根据各个功能模块的模块类型配置与之对应的开发环境,开发人员可以将该功能模块的源码数据导入到该开发环境内,生成功能模块的程序子文件;继而在各个功能模块均编译完毕后,可以根据所有程序子文件、访问路径以及核心公共模块,生成应用程序的程序文件。与现有的应用程序的生成技术相比,减少了各个模块之间的耦合度,实现了独立编译的目的,提高了编译效率以及减少了开发时间。

附图说明

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

图1是本发明第一实施例提供的一种应用程序的生成方法的实现流程图;

图2是本发明第二实施例提供的一种应用程序的生成方法s104具体实现流程图;

图3是本发明第三实施例提供的一种应用程序的生成方法s105具体实现流程图;

图4是本发明第四实施例提供的一种应用程序的生成方法s106具体实现流程图;

图5是本发明第五实施例提供的一种应用程序的生成方法具体实现流程图;

图6是本发明一实施例提供的一种应用程序的生成设备的结构框图;

图7是本发明另一实施例提供的一种终端设备的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例通过在开发应用程序的程序文件时,根据应用程序的程序描述信息,建立该应用程序的核心公共模块,从而将应用程序的核心部分从各个功能模块处抽离,减少了不同功能模块之间的耦合度,实现了各个功能模块之间相互独立的目的;为了便于不同功能模块可以独立进行编译,还根据各个功能模块的模块类型配置与之对应的开发环境,开发人员可以将该功能模块的源码数据导入到该开发环境内,生成功能模块的程序子文件;继而在各个功能模块均编译完毕后,可以根据所有程序子文件、访问路径以及核心公共模块,生成应用程序的程序文件,解决了应用程序的生成技术,若不同功能模块的编译的进度不一致,则较早开发完成的团队需要等待后续团队的代码编写完成后才可以进行编译,从而导致应用项目的开发效率低,以及开发周期长的问题。

在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行应用程序的生成操作的设备。图1示出了本发明第一实施例提供的应用程序的生成方法的实现流程图,详述如下:

在s101中,获取应用程序的程序描述文档;所述程序描述文档包含所述应用程序的功能模块列表以及程序类型。

在本实施例中,开发人员在开发一个应用程序之前,会编写一个关于该应用程序的程序描述文档,也可以称为应用程序的需求文档,该程序描述文档中记载有待开发的应用程序所包含的功能模块列表以及该程序所对应的程序类型。其中,功能模块列表中至少包含一个功能模块的模块标识,该模块标识可以为功能模块的模块名称和/或功能模块的描述信息,例如,某一功能模块可以通过“实时视频通话模块”这一模块名称进行表示,也可以通过“提供至少两个用户之间的实时视频通话”这一描述信息对功能模块进行描述。

可选地,在本实施例中,该功能模块列表可以具体用于限定该应用程序主菜单包含的模块列表,即当用户打开应用程序的主界面时,可以通过主界面上的导航栏直接跳转的模块列表。不同的功能模块可以通过配置模块子列表来限定该功能模块的子功能,即在主界面的导航栏下创建二级导航。主界面的导航栏中的每一个功能模块,可以交由一个开发团队进行开发,而该功能模块下包含的子模块个数可以根据该模块的需求进行确定,在此不做限定。

在本实施例中,开发人员可以将所有待开发的应用程序的程序描述文档添加到程序开发列表内。终端设备可以通过获程序开发列表中各个应用程序的开发优先级,选取优先级最高的一个或多个应用程序作为目标应用程序,并对目标应用程序执行s101至s106的相关操作。当然,开发人员也可以向终端设备发送程序启动指令来主动触发应用程序的生成流程。

在s102中,从核心组件库中选取与所述程序类型匹配的目标核心组件,并根据所有所述目标核心组件构建所述应用程序的公共核心模块。

在本实施例中,为了减少各个功能模块之间的耦合程度,终端设备需要首先构建关于该应用程序的公共核心模块,当公共核心模块创建完成后,后续开发团队在编译功能模块时,各个功能模块可以直接调用公共核心模块的公共接口以及公共线程来启动功能模块,并执行相关的测试操作,而不会影响其他功能模块的编译操作,实现各个模块独立开发的目的,提高了应用程序的开发效率,能够多个开发团队进行并行开发。

在本实施例中,不同的程序类型所对应的核心组件会存在差异。例如对于网页类型的应用程序,则需要包含flash组件、域名解析组件、登录组件等与网页展示相关的核心组件;而对于聊天交互类型的应用程序,则核心组件主要包括有tcp协议解析组件、nat转换组件、socket解析组件等。由于程序类型限定了应用程序主要提供的功能,而所有功能模块均是基于该主要功能上的搭建的辅助功能,即启动辅助功能需要在主要功能的启动的状态下调用。因此,主功能所包含的核心组件,即为应用程序的公共核心模块。终端设备从程序描述文档中提取程序类型,并根据程序类型确定应用程序的主要功能,并从核心组件库中提取该主要功能所需的所有目标核心组件。

在本实施例中,终端设备获取了目标核心组件后,可以对各个目标核心组件进行解析,获取各个目标核心组件的接口,并基于各个接口的接口功能,建立各个目标核心组件之间接口的连接关系,从而基于该连接关系对所有目标核心组件进行集成封装,从而生成应用程序的公共核心模块。特别地,终端设备可以配置有一个核心模块模板,终端设备可以将各个核心组件添加到核心模块模板对应的区域内,该核心模块模板记录有各个组件之间接口的连接关系,还包括有所有应用程序固有的组件,例如登录组件、注册组件等,通过将目标核心组件导入核心模块模板,实现快速生成公共核心模块的目的。

在s103中,为所述功能模块列表内的各个功能模块配置模块标识,并基于所述模块标识在所述公共核心模块内创建所述功能模块关联的访问路径。

在本实施例中,终端设备可以从程序描述文档中提取功能模块列表,确定该应用程序预计包含的所有功能模块,继而为每个功能模块配置一个唯一标识符,即上述的模块标识,该模块标识可以为功能模块在功能模块列表中的序号,基于该序号以及功能模块的模块名,生成该功能模块的模块标识,从而对于模块名相同的功能模块,也可以通过列表中排序的不同进行区分。

可选地,生成模块的标识的方式可以为:功能模块列表记录有各个功能模块的模块描述信息。终端设备可以对该模块描述信息进行语义分析,从而提取该模块描述信息包含的模块关键词,统计各个模块关键词的出现次数,选取出现次数最大的一个模块关键词作为核心关键词,并将该核心关键词识别为功能模块的模块标识。

在本实施例中,终端设备会为根据该模块标识,在公共核心模块中创建关于该功能模块的访问路径,以便用户可以在公共核心模块上,通过访问路径直接跳转至功能模块对应的使用界面上。例如,该公共核心模块包含导航栏,则终端设备可以在导航栏上添加各个功能模块的模块标识,并将该模块标识对应的字符串上设置跳转链接,即上述的访问路径,当用户点击该模块标识时,可以直接访问功能模块。通过上述的配置,各个功能模块具有独立的功能界面,减少了相互之间的耦合程度,并且均可在公共核心模块上进行跳转,访问便捷。

在s104中,确定各个所述功能模块的模块类型,下载所述模块类型对应的开发环境。

在本实施例中,为了进一步提高应用程序的搭建速度,并且方便不同功能模块在发开的过程中选取与自身功能匹配度较高的数据库类型,终端设备会为不同的模块类型预先搭建对应的开发环境,即为不同的功能模块设置与之对应的脚手架组件。通过下载已经配置好的开发环境,开发人员无需在手动进行环境搭建,并构建开发环境与核心公共模块之间的数据对接路径,从而大大减少了开发人员的工作量,提高了应用程序的开发速度。

例如,某一功能模块是基于angular技术进行搭建,即需要通过angular关联的数据形式对数据进行存储以及处理,而另一功能模块是基于react技术进行搭建,两个功能模块所使用的核心技术是存在差异的,现有技术中则需要搭建一个兼容上述两个技术的开发环境,才能够整合基于不同核心技术的功能模块。而由于s102以及s103已经将各个功能模块进行分离,并抽离了核心公共模块,因此,终端设备可以直接搭建关于两个核心技术的开发环境即可,无需考虑两个开发环境的融合情况。

在本实施例中,终端设备可以根据该功能模块的模块描述信息,确定该功能模块的模块类型,通过该模块类型可以确定功能模块所需提供的主要功能,并选取与模块类型关联度最高的一个开发环境,作为该功能模块的开发环境,并从环境数据库中下载该开发环境。特别地,为了进一步减少各个功能模块之间的耦合度,终端设备还可以为不同的功能模块配置响应的存储区域,即各个功能模块的开发数据存储于对应的存储区域内,从而避免了各个功能模块的数据进行干扰。

在s105中,将所述功能模块的源码数据导入到所述开发环境,生成关于所述功能模块的程序子文件。

在本实施例中,开发人员可以基于该开发环境,编写关于功能模块的源码数据,当源码数据编写完成后,则可以把该源码数据导入到开发环境中进行编译。在编译的过程中,功能模块可以调用公共核心模块的公共接口以及公共线程。开发人员可以通过导入与该功能模块对应的测试用例来检测功能模块的各个运行参数是否符合预设的开发需求。若功能模块通过编译测试以及各个测试用例的实际运行参数均符合预设的开发需求,则判断该功能模块开发完成,此时,终端设备会将该功能模块的开发环境以及源码数据进行封装,生成该功能模块的程序子文件。

在s106中,根据所述公共核心模块以及各个所述功能模块的所述访问路径和所述程序子文件,生成所述应用程序的程序文件

在本实施例中,终端设备在检测到各个功能模块的程序子文件均创建完成后,则可以执行s106的相关操作。基于访问路径建立核心公共模块与程序子文件之间的连接关系,从而将公共核心模块的源码数据、所有功能模块的程序子文件以及上述建立的连接关系,生成应用程序的程序文件。

可选地,终端设备还可以接收开发人员发送的程序创建指令,基于此,终端设备会检测各个功能模块是否已经具有对应的程序子文件,若所有功能模块均配置有对应的程序子文件,则将公共核心模块以及所有功能模块的程序子文件以及访问路径进行封装,生成应用程序的程序文件;若任一功能模块并未配置有程序子文件,则表示该功能模块并未开发完成,此时,终端设备会在核心公共模块上隐藏关于该功能模块的模块标识,并根据公共核心模块以及已开发完成的功能模块的访问路径以及程序子文件,生成应用程序的程序文件。在程序文件生成完毕后,若上述未封装的功能模块开发完成,则终端设备会在核心公共模块上重新显示关于该功能模块的模块标识,并将该功能模块的程序子文件以及访问路径添加到程序文件内。

以上可以看出,本发明实施例提供的一种应用程序的生成方法通过在开发应用程序的程序文件时,根据应用程序的程序描述信息,建立该应用程序的核心公共模块,从而将应用程序的核心部分从各个功能模块处抽离,减少了不同功能模块之间的耦合度,实现了各个功能模块之间相互独立的目的;为了便于不同功能模块可以独立进行编译,还根据各个功能模块的模块类型配置与之对应的开发环境,开发人员可以将该功能模块的源码数据导入到该开发环境内,生成功能模块的程序子文件;继而在各个功能模块均编译完毕后,可以根据所有程序子文件、访问路径以及核心公共模块,生成应用程序的程序文件。与现有的应用程序的生成技术相比,减少了各个模块之间的耦合度,实现了独立编译的目的,提高了编译效率以及减少了开发时间。

图2示出了本发明第二实施例提供的一种应用程序的生成方法s104的具体实现流程图。参见图2,相对于图1所述实施例,本实施例提供的一种应用程序的生成方法s104包括:s1041~s1044,具体详述如下:

进一步地,所述确定各个所述功能模块的模块类型,下载所述模块类型对应的开发环境,包括:

在s1041中,在数据库内为所述功能模块创建模块存储区域,并建立所述模块存储区域与所述功能模块的所述访问路径的关联关系。

在本实施例中,为了减少各个功能模块数据之间的耦合度,并且便于不同的开发团队对功能模块的源码数据进行管理,终端设备会根据各个功能模块的模块标识,在数据库内创建各个功能模块的存储区域。开发团队可以将关于该功能模块的所有源码数据以及模块文件存储于该存储区域内。特别地,若该功能模块是通过javascript语言进行开发,则可以在数据库内创建该功能模块的js文件夹,并将关于该功能模块的所有js文件存储该功能模块的js文件夹内进行存储。

可选地,终端设备可以基于功能模块的模块类型确定所述模块存储区域的容量值。不同的功能模块对于数据容量的需求量存在差异,例如对于视频播放模块,由于需要将所需播放的视频数据进行本地缓存,因此该模块类型的模块存储区域对于数据容量的需求量较大;而对于静态产品展示的功能模块,由于各个ui控件以及展示的内容均是固定的,数据量较小,从而终端设备初始分配的模块存储区域的容量较小。

在本实施例中,终端设备在为功能模块配置模块存储区域后,会获取模块存储区域的地址范围,并建立该存储地址范围与访问路径之间的关联关系,从而可以直接基于该访问路径,跳转至功能模块的模块存储区域,实现功能模块调用的目的。

在s1042中,从开发环境脚架库中提取与所述模块类型关联的环境模板。

在本实施例中,开发环境脚架库内存储有不同模块类型的环境模块,开发人员可以基于不同模块类型的模块特性,预先配置与模块特征相匹配的环境模块,该环境模块中包含功能模块的数据库类型、系统环境、登录接口等基础环境参数。开发环境脚架库中存储有环境模块与模块类型的对应关系表,终端设备可以通过查询该对应关系表,提取得到与功能模块关联的环境模板。

在s1043中,解析所述程序描述文档,获取所述功能模块的配置参数,并基于所述配置参数调整所述环境模板,生成所述功能模块的开发环境。

在本实施例中,环境模块包含有至少一个自定义参数,该自定义参数可以基于功能模块的实际配置参数,对各个自定义参数进行赋值,从而生成的开发环境可以与功能模块相匹配。基于此,终端设备会对程序描述文档进行解析,确定功能模块所对应的描述语段,并提取关于该描述语段关于功能模块的配置参数,并获取不同的配置参数在环境模板内关联的自定义参数,将配置参数的参数值设置为自定义参数的参数值,从而得到功能模块的开发环境。

在s1044中,将所述开发环境下载至所述模块存储区域。

在本实施例中,终端设备会将该功能模块的开发环境下载到该功能模块的模块存储区域内,从而完成开发环境的搭建操作。特别地,该功能模块的所有源码数据均可以在该模块存储区域进行存储,从而便于编译时存储路径的选取,提高了编译效率。

在本发明实施例中,通过为不同的功能模块创建模块存储区域,减少功能模块之间的耦合度,并根据功能模块的模块类型,下载与之关联的环境模板,并根据功能模块的配置参数对环境模板进行调整,实现自动搭建开发环境的目的,提高了应用程序的开发效率。

图3示出了本发明第三实施例提供的一种应用程序的生成方法s105的具体实现流程图。参见图3,相对于图1所述的实施例,本实施例提供的一种应用程序的生成方法s105包括:s1051~s1053,具体详述如下:

进一步地,所述将所述功能模块的源码数据导入到所述开发环境,生成关于所述功能模块的程序子文件,包括:

在s1051中,接收关于所述开发环境的编辑请求;所述编辑请求包括授权信息以及编辑类型。

在本实施例中,不同的功能模块可以交由不同的开发团队进行开发操作,即功能模块所属的开发人员存在差异,因此为了便于开发团队对于各个功能模块进行管理以及避免不法分子对功能模块的源码数据以及开发环境进行恶意篡改,终端设备可以为不同的功能模块配置对应的验证信息,各个开发人员导入源码数据至开发环境或调整开发环境时,需要向终端设备上传自身的授权信息。

在本实施例中,开发人员在需要对功能模块的源码数据进行编辑时,会创建一个编辑请求。该编辑请求携带有该开发人员的授权信息,该授权信息可以为开发人员的用户名以及用户密码,还可以为一授权序列号。编辑请求还携带有本次编辑操作编辑类型,该编辑类型包括:源码修改类型、源码删除类型、源码添加类型以及源码查看类型。开发人员可以在本地的用户终端生成编辑请求并发送给终端设备。

在s1052中,获取与所述授权信息关联的编辑权限列表,并判断所述编辑类型是否在所述编辑权限列表内。

在本实施例中,终端设备在接收到关于功能模块的编辑请求后,会基于功能模块的模块标识,获取该功能模块的已登记的授权信息,并判断该授权信息是否为该功能模块的已登记的授权信息,若否,则表示该编辑请求为非法编辑请求,返回请求失败信息;若是,则表示该编辑请求为合法编辑请求,则执行s1052的相关操作。

在本实施例中,终端设备在判断该授权信息为已登记的授权信息后,则会获取该授权信息关联的编辑权限列表,该编辑权限列表记录有该授权信息的可执行的编辑操作,继而检测该编辑类型是否在编辑权限列表内,从而判断本次编辑请求是否合法。若该编辑类型并非在编辑权限列表内,则返回请求失败信息;反之,若该编辑类型在编辑权限列表中,则执行s1053的相关操作。

在s1053中,若所述编辑类型在所述编辑权限列表内,则从所述编辑请求提取编辑内容,基于所述编辑内容修改所述开发环境。

在本实施例中,终端设备会提取编辑请求中的编辑内容,并将编辑内容导入到开发环境中,完成开发人员发起的编辑操作。

在本发明实施例中,通过为不同的功能模块配置对应的权限信息,从而能够提高编辑操作以及源码数据的安全性,避免不法分子对源码数据进行非法篡改。

图4示出了本发明第四实施例提供的一种应用程序的生成方法s106的具体实现流程图。参见图4,相对于图1至图3所述实施例,本实施例提供的一种应用程序的生成方法s106包括:s1061~s1063,具体详述如下:

在s1061中,获取所述功能模块的所述开发环境的第一数据类型,以及获取所述公共核心模块的第二数据类型。

在本实施例中,由于不同的功能模块的开发环境与公共核心模块之间是相互独立的,即两个模块所采用的数据格式可能会存在差异,而由于启动功能模块时需要依赖公共核心模块的运行,并调用公共核心模块的接口以及线程,两者之间存在数据交互。为了对实现两个不同的模块之间数据的互通需要创建一个数据转换接口。基于此,终端设备需要首先确定开发环境以及公共核心模块所对应的数据类型,即上述的第一数据类型以及第二数据类型。

在s1062中,根据所述第一数据类型以及所述第二数据类型生成数据转换接口。

在本实施例中,终端设备在确定了开发环境的第一数据类型以及公共核心模块的第二数据类型后,可以检测两个数据类型是否相同,若两个数据类型相同,则无需进行数据转换,直接进行数据交互;反之,若两个数据类型不相同,则创建一个数据转换接口,从而实现将第一数据类型转换至第二数据类型,以及将第二数据类型转换至第一数据类型。

在s1063中,将所述数据转换接口的启动指令添加到所述访问路径,若检测到点击所述访问路径,则激活所述数据转换接口。

在本实施例中,终端设备在创建了实现两个数据类型进行转换的接口后,可以将该接口的启动指令添加到访问路径内,当用户点击该访问路径时,该数据转换接口会自动激活,从而可以将核心公共模块内的数据转换为与功能模块相匹配的数据类型,保证了两个模块之间的数据互联。

在本发明实施例中,通过为不同的功能模块配置数据转换接口,即便两个模块所采用的开发环境不同,也可以保证数据之间的互联,提高了开发的自由度。

图5示出了本发明第五实施例提供的一种应用程序的生成方法的具体实现流程图。参见图5,相对于图1-图3所述实施例,本实施例提供的一种应用程序的生成方法在根据所述公共核心模块以及各个所述功能模块的所述访问路径和所述程序子文件,生成所述应用程序的程序文件之后,还包括:s501~s502,具体详述如下:

在s501中,若接收到模块添加指令,则为所述模块添加指令对应的新增模块配置新增标识。

在本实施例中,由于不同的功能模块之间是相互独立的,因此终端设备需要对应用程序进行功能扩展时,可以直接将新增模块添加到应用程序的程序文件内。基于此,终端设备可以接受各个开发人员发送的模块添加指令,该模块添加指令包含有所需添加的新增模块的模块标识。

在s502中,在所述公共核心模块中创建关于所述新增标识的新增访问路径。

在本实施例中,终端设备可以根据接收到的新增模块的模块标识,在公共核心模块下创建关于该新增模块的访问路径,从而用户可以通过该新增访问路径直接调用新增模块。开发人员还可以将新增模块的程序子文件直接添加到该新增标识所对应的存储区域内,并关联新增存储区域与访问路径之间的关联关系,从而完成功能扩展的目的。

在本发明实施例中,通过接收模块添加指令,能够在不对其他功能模块进行变更的情况下,完成功能扩展,提高了功能扩展的效率以及降低了开发难度。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图6示出了本发明一实施例提供的一种应用程序的生成设备的结构框图,该应用程序的生成设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。

参见图6,所述应用程序的生成设备包括:

程序描述文档获取单元61,用于获取应用程序的程序描述文档;所述程序描述文档包含所述应用程序的功能模块列表以及程序类型;

公共核心模块生成单元62,用于从核心组件库中选取与所述程序类型匹配的目标核心组件,并根据所有所述目标核心组件构建所述应用程序的公共核心模块;

访问路径创建单元63,用于为所述功能模块列表内的各个功能模块配置模块标识,并基于所述模块标识在所述公共核心模块内创建所述功能模块关联的访问路径;

开发环境下载单元64,用于确定各个所述功能模块的模块类型,下载所述模块类型对应的开发环境;

程序子文件生成单元65,用于将所述功能模块的源码数据导入到所述开发环境,生成关于所述功能模块的程序子文件;

程序文件生成单元66,用于根据所述公共核心模块以及各个所述功能模块的所述访问路径和所述程序子文件,生成所述应用程序的程序文件。

可选地,所述开发环境下载单元64包括:

关联关系建立单元,用于在数据库内为所述功能模块创建模块存储区域,并建立所述模块存储区域与所述功能模块的所述访问路径的关联关系;

环境模板提取单元,用于从开发环境脚架库中提取与所述模块类型关联的环境模板;

开发环境生成单元,用于解析所述程序描述文档,获取所述功能模块的配置参数,并基于所述配置参数调整所述环境模板,生成所述功能模块的开发环境;

开发环境封装单元,用于将所述开发环境下载至所述模块存储区域。

可选地,所述程序子文件生成单元65包括:

编辑请求接收单元,用于接收关于所述开发环境的编辑请求;所述编辑请求包括授权信息以及编辑类型;

编辑权限判定单元,用于获取与所述授权信息关联的编辑权限列表,并判断所述编辑类型是否在所述编辑权限列表内;

编辑执行单元,用于若所述编辑类型在所述编辑权限列表内,则从所述编辑请求提取编辑内容,基于所述编辑内容修改所述开发环境。

可选地,所述程序文件生成单元66包括:

数据类型获取单元,用于获取所述功能模块的所述开发环境的第一数据类型,以及获取所述公共核心模块的第二数据类型;

数据接口创建单元,用于根据所述第一数据类型以及所述第二数据类型生成数据转换接口;

数据接口关联单元,用于将所述数据转换接口的启动指令添加到所述访问路径,若检测到点击所述访问路径,则激活所述数据转换接口。

可选地,所述应用程序的生成设备还包括:

模块添加指令接收单元,用于若接收到模块添加指令,则为所述模块添加指令对应的新增模块配置新增标识;

新增模块创建单元,用于在所述公共核心模块中创建关于所述新增标识的新增访问路径。

因此,本发明实施例提供的应用程序的生成设备同样可以减少了各个模块之间的耦合度,实现了独立编译的目的,提高了编译效率以及减少了开发时间。

图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如应用程序的生成程序。所述处理器70执行所述计算机程序72时实现上述各个应用程序的生成方法实施例中的步骤,例如图1所示的s101至s106。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至66功能。

示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割程序描述文档获取单元、公共核心模块生成单元、访问路径创建单元、开发环境下载单元、程序子文件生成单元以及程序文件生成单元,各单元具体功能如上所述。

所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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