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

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

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



背景技术:

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



技术实现要素:

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

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

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

下载与所述程序类型关联的核心线程的源码数据,并根据所述源码数据搭建所述应用程序的核心开发环境;

为所述功能模块列表内的各个功能模块配置模块标识,并在所述核心开发环境下创建各个所述模块标识的模块开发区域;

确定所述功能模块的模块类型,将所述模块类型对应的模块开发组件导入至所述模块开发区域,构建所述功能模块的模块开发环境;

接收关于所述功能模块的源码文件,并根据所述源码文件以及所述模块开发环境,生成关于所述功能模块的程序子文件;

根据所述核心开发环境以及各个所述功能模块的所述程序子文件,生成所述应用程序的程序文件。

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

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

核心开发环境生成单元,用于下载与所述程序类型关联的核心线程的源码数据,并根据所述源码数据搭建所述应用程序的核心开发环境;

模块开发区域创建单元,用于为所述功能模块列表内的各个功能模块配置模块标识,并在所述核心开发环境下创建各个所述模块标识的模块开发区域;

开发环境构建单元,用于确定所述功能模块的模块类型,将所述模块类型对应的模块开发组件导入至所述模块开发区域,构建所述功能模块的模块开发环境;

程序子文件生成单元,用于接收关于所述功能模块的源码文件,并根据所述源码文件以及所述模块开发环境,生成关于所述功能模块的程序子文件;

程序文件生成单元,用于根据所述核心开发环境以及各个所述功能模块的所述程序子文件,生成所述应用程序的程序文件。

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

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

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

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

附图说明

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

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

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

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

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

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

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

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

具体实施方式

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

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

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

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

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

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

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

在s102中,下载与所述程序类型关联的核心线程的源码数据,并根据所述源码数据搭建所述应用程序的核心开发环境。

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

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

在本实施例中,终端设备获取了核心线程的源码数据后,可以对各个源码数据进行解析,获取各个核心线程所包含的线程接口,并基于各个线程接口的接口功能,建立各个核心线程之间接口的连接关系,从而基于该连接关系对所有核心线程的源码数据进行合并,从而生成应用程序的核心开发环境。

在s103中,为所述功能模块列表内的各个功能模块配置模块标识,并在所述核心开发环境下创建各个所述模块标识的模块开发区域。

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

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

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

终端设备会根据各个功能模块的模块标识,在数据库内创建各个功能模块的存储区域。开发团队可以将关于该功能模块的所有源码数据以及模块文件存储于该存储区域内。特别地,若该功能模块是通过javascript语言进行开发,则可以在数据库内创建该功能模块的js文件夹,并将关于该功能模块的所有js文件存储该功能模块的js文件夹内进行存储。

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

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

在s104中,确定所述功能模块的模块类型,将所述模块类型对应的模块开发组件导入至所述模块开发区域,构建所述功能模块的模块开发环境。

在本实施例中,为了进一步提高应用程序的搭建速度,并且方便不同功能模块在发开的过程中选取与自身功能匹配度较高的数据库类型,终端设备会为不同的模块类型预先搭建对应的模块开发环境,即为不同的功能模块设置与之对应的脚手架组件。终端设备可以从组件库中,下载与功能模块关联的所有模块开发组件,并导入到该功能模块相应的模块开发区域内,从而确保了不同的功能模块所存储的区域是相互独立的,减少了功能模块在开发过程之中的相互影响,从而根据所有模块开发组件,可以提供该功能模块的所需的所有基础接口以及基础线程,开发人员可以基于该基础接口以及基础线程进行后续的开发操作,从而无需每次开发都需要对基础线程以及基础接口进行编写,大大减少了开发的工作量,只需编写与功能模块特性相关的源码数据即可。

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

在本实施例中,终端设备可以根据该功能模块的模块描述信息,确定该功能模块的模块类型,通过该模块类型可以确定功能模块所需提供的主要功能,并选取与模块类型关联度大于预设的关联阈值的各个模块开发组件,基于所有模块开发组件建立在模块开发区域创建模块开发环境。

在s105中,接收关于所述功能模块的源码文件,并根据所述源码文件以及所述模块开发环境,生成关于所述功能模块的程序子文件。

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

在s106中,根据所述核心开发环境以及各个所述功能模块的所述程序子文件,生成所述应用程序的程序文件

在本实施例中,终端设备在检测到各个功能模块的程序子文件均创建完成后,则可以执行s106的相关操作。终端设备建立核心开发环境与程序子文件之间的连接关系,从而将核心开发环境的源码数据以及各个功能模块的程序子文件进行封装,生成应用程序的程序文件。

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

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

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

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

在s1041中,从组件数据库获取与所述模块类型关联的所述模块开发组件。

在本实施例中,上位服务器可以将不同的模块开发组件存储于一数据库内,即组件数据库,并为每个模块开发组件配置关联的一个或多个与之关联的模块类型。例如,对于录音组件,实时通信类型的功能模块以及视频录像类型的功能模块都需要用到该组件,因此一个模块开发组件可以对应多个模块类型。终端设备可以从组件数据库中提取与该模块类型相关的所有模块开发组件作为目标开发组件,并从组件数据库中下载该模块开发组件的源码数据。

在s1042中,基于各个所述模块开发组件的组件类型,确定与所有所述组件类型兼容的开发系统,并下载所述开发系统的系统配置文件。

在本实施例中,由于搭建关于功能模块的模块开发环境需要兼容各个模块开发组件,即各个模块开发组件需要在模块开发环境下运行,基于此,终端设备首先需要确定各个模块开发组件的组件类型,该组件类型具体可以为该模块开发组件所使用的开发语言,或数据库类型,并根据各个模块开发组件的组件类型,确定能够兼容所有组件类型的开发系统。举例性地,某一模块开发组件只能在android系统下运行,而另一模块开发组件则可以在ios系统、windows系统以及android系统下运行,则终端设备可以选取android系统作为该功能模块的开发系统。

在本实施例中,终端设备在确定了功能模块所使用的开发系统后,则可以从数据库下载该开发系统的系统配置文件,从而可以基于系统配置文件在本地搭建开发系统。

在s1043中,在模块开发区域内运行所述系统配置文件,对所述模板开发区域进行全局系统配置,建立所述功能模块的所述开发系统。

在本实施例中,终端设备将获取得到的系统配置文件导入到功能模块关联的模块开发区域,并在该模块开发区域中运行该系统配置文件,该系统配置文件会在该模块开发区域内对整个存储区域进行数据格式以及环境参数的全局配置,从而能够生成关于功能模块的开发系统,从而开发人员可以在该开发系统下进行相关的编译操作。

在s1044中,在所述开发系统内添加各个所述模板开发组件,生成关于所述功能模块的模块开发环境。

在本实施例中,在开发系统构建完成后,可以将各个模板开发组件添加到开发环境内,从而开发系统内包含了功能模块所需的所有基础接口以及基础线程,从而能够在功能模块的基础线程以及接口均配置完备的状态下进行编译。

在本发明实施例中,通过确定各个模块开发组件的组件类型,并选取与各个组件类型匹配的开发系统,并基于该开发系统构建功能模块的开发环境,从而提高了开发环境与各个组件之间的兼容性,提高模块开发环境搭建的稳定性以及准确性。

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

在s301中,显示所述开发系统的配置页面;所述配置页面包含关于各个所述模块开发组件的组件标识。

在本实施例中,终端设备在构建了功能模块的开发系统后,可以配置各个模块开发组件的放置位置,则设置功能模块所属的模块页面。因此,终端设备生成开发系统的配置页面,该配置页面上标记有该功能模块所有关联的模块开发组件的组件标识。该组件标识可以为模块开发组件的ui界面,也可以为通过字符串或预设的组件形状进行标识。

在s302中,接收用户基于所述配置页面反馈的关于各个所述模板开发组件的配置信息;所述配置信息包含有各个模板开发组件的显示坐标。

在本实施例中,用户可以通过拖动组件标识来确定各个模块开发组件的显示坐标,当终端设备检测到用户输入的配置完成指令,则根据用户当前拖动的位置,生成关于模块开发组件的配置信息;当然,用户也可以直接输入关于该组件的显示坐标,可选地,配置页面中将各个开发系统划分了多个可放置区域,则用户可以输入可放置区域的区域标识,从而将该可放置区域的区域坐标作为该模块开发组件的显示坐标。

在s303中,基于所述显示坐标,将各个所述模板开发组件添加到所述配置页面,构建关于所述功能模块的模块页面。

在本实施例中,终端设备可以根据各个模块开发组件的显示坐标,将模块开发组件添加到配置页面内,从而根据该显示坐标,可以确定不同模块开发组件之间的位置关系,判断各个组件之间是否存在遮挡或重叠等情况,若各个开发组件的放置位置符合开发员的需求,则可以生成关于功能模块的模块页面。

在s304中,基于所述模块页面以及各个模块开发组件,生成关于所述功能模块的模块开发环境。

在本实施例中,终端设备根据模块开发组件在模块页面的显示坐标,生成对应的启动指令,即当检测到用户点击该模块页面内的显示坐标时,则启动该模块开发组件,并建立该启动指令与模块开发组件的源码数据之间的关联关系,从而生成关于该功能模块的开发环境。

在本发明实施例中,用户可以配置各个模块开发组件的显示位置,从而个性化生成所需的模块页面,提高了模块页面的生成效率。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在s1063中,基于所述数据转换接口的启动指令生成关于所述功能模块的访问路径,若检测到点击所述访问路径,则激活所述数据转换接口。

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

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

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

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

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

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

核心开发环境生成单元62,用于下载与所述程序类型关联的核心线程的源码数据,并根据所述源码数据搭建所述应用程序的核心开发环境;

模块开发区域创建单元63,用于为所述功能模块列表内的各个功能模块配置模块标识,并在所述核心开发环境下创建各个所述模块标识的模块开发区域;

开发环境构建单元64,用于确定所述功能模块的模块类型,将所述模块类型对应的模块开发组件导入至所述模块开发区域,构建所述功能模块的模块开发环境;

程序子文件生成单元65,用于接收关于所述功能模块的源码文件,并根据所述源码文件以及所述模块开发环境,生成关于所述功能模块的程序子文件;

程序文件生成单元66,用于根据所述核心开发环境以及各个所述功能模块的所述程序子文件,生成所述应用程序的程序文件。

可选地,所述开发环境构建单元包括:

模块开发组件获取单元,用于从组件数据库获取与所述模块类型关联的所述模块开发组件;

系统配置文件下载单元,用于基于各个所述模块开发组件的组件类型,确定与所有所述组件类型兼容的开发系统,并下载所述开发系统的系统配置文件;

开发系统创建单元,用于在模块开发区域内运行所述系统配置文件,对所述模板开发区域进行全局系统配置,建立所述功能模块的所述开发系统;

模块开发环境生成单元,用于在所述开发系统内添加各个所述模板开发组件,生成关于所述功能模块的模块开发环境。

可选地,所述模块开发环境生成单元包括:

配置页面显示单元,用于显示所述开发系统的配置页面;所述配置页面包含关于各个所述模块开发组件的组件标识;

组件坐标配置单元,用于接收用户基于所述配置页面反馈的关于各个所述模板开发组件的配置信息;所述配置信息包含有各个模板开发组件的显示坐标;

开发组件添加单元,用于基于所述显示坐标,将各个所述模板开发组件添加到所述配置页面,构建关于所述功能模块的模块页面;

模块页面合成单元,用于基于所述模块页面以及各个模块开发组件,生成关于所述功能模块的模块开发环境。

可选地,所述程序子文件生成单元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