一种移动应用程序跨平台开发方法及装置制造方法

文档序号:6534835阅读:227来源:国知局
一种移动应用程序跨平台开发方法及装置制造方法
【专利摘要】本发明公开一种移动应用程序跨平台开发方法及装置,开发方法,包括:基于每个平台创建一个不包含开发代码的应用程序工程;获取基于任一平台开发的应用程序工程;除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程;将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。本发明减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率,同时也减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。
【专利说明】一种移动应用程序跨平台开发方法及装直
【技术领域】
[0001]本发明涉及移动应用程序开发相关【技术领域】,特别是一种移动应用程序跨平台开发方法及装置。
【背景技术】
[0002]移动应用程序开发,是基于不同的平台进行开发的。现有的平台很多,例如ios平台、Andriod平台、Blackberry平台、WebOS平台、Symbian平台等。由于不同平台其底层和终端硬件有很大不同,因此开发者开发移动应用程序需要针对每个平台进行开发,需要耗费大量的资源。
[0003]针对上述情况,出现了移动应用程序跨平台开发的方法,其中较为流行的是Phonegap工具。其可以在不同平台上创建各自平台的移动应用程序工程,并且允许开发者使用相同的html5或者html、css、js等编程语言开发应用程序。
[0004]具体实现步骤:首先开发者在不同平台上通过phonegap支持的语言html、css、js等开发出对应平台的应用程序(该应用程序最终被不同的终端用户使用),然后开发者拷贝不同平台的应用程序工程到不同的编译打包平台,编译和打包成相应平台的包,供用户下载安装和成功运行。
[0005]然而,现有的这种跨平台开发,其实只提供创建多个平台的应用程序工程,并且只能在各自的平台上的应用程序工程中开发对应的移动应用程序,最后编译和打包。这种方法对用户和开发者来说必须提供每种平台上开发的应用程序,然后编译打包安装等;对编译平台环境来说效率低下,能效不高。

【发明内容】

[0006]基于此,有必要针对现有技术的移动应用程序跨平台开发需要开发者在每个平台上单独开发,导致效率低下的技术问题,提供一种移动应用程序跨平台开发方法及装置。
[0007]—种移动应用程序跨平台开发方法,包括:
[0008]基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;
[0009]获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;
[0010]除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;[0011 ] 所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
[0012]一种移动应用程序跨平台开发装置,包括:
[0013]应用程序工程创建模块,用于基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;
[0014]源应用程序工程获取模块,用于获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;
[0015]待编译应用程序工程生成模块,用于除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;
[0016]调用替换模块,用于所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
[0017]本发明通过预先生成基于多个平台的应用程序工程,然后用户只需要在其中一个应用程序工程中编写开发代码,以开发后的应用程序工程作为源应用程序工程,其他平台上的应用程序工程作为目标应用程序工程,将源应用程序工程与目标应用程序工程进行选择性结合,从而得到基于其他平台且已经包含有开发代码的应用程序工程,将这些应用程序工程进行编译后,即可完成多个平台的开发。从而实现了在一个应用程序工程中编写开发代码,就能够生成多个平台对应的终端能够安装和能够成功运行的应用包。本发明减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率,同时也减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。
【专利附图】

【附图说明】
[0018]图1为本发明一种移动应用程序跨平台开发方法的工作流程图;
[0019]图2为本发明一种移动应用程序跨平台开发装置的结构模块图;
[0020]图3为本发明一个例子的工作流程图;
[0021]图4为phonegap的应用程序工程示意图。
【具体实施方式】
[0022]下面结合附图和具体实施例对本发明做进一步详细的说明。
[0023]如图1所示为本发明一种移动应用程序跨平台开发方法的工作流程图,包括:
[0024]步骤S101,基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;[0025]步骤S102,获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;
[0026]步骤S103,除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;
[0027]步骤S104,所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
[0028]本实施例的步骤SlOl中,预先生成多个平台的应用程序工程,然后在步骤S102中,获取由用户基于任一平台所开发的应用程序工程,用户开发应用程序工程,即在源文件中编写开发代码。
[0029]在经过步骤S102获取到源应用程序工程后,在步骤S103中,与目标应用程序工程进行结合,具体结合方式为:从源应用程序工程中选取程序文件,从目标应用程序工程中选取工程结构文件和接口文件,进行结合,得到待编译应用程序工程。则待编译应用程序工程中的工程结构文件和接口文件与对应平台符合,而待编译应用程序工程中也取得了对应的开发代码,使得待编译应用程序工程获得了对应平台的底层实现,以及每个平台和底层实现关联的接口文件。
[0030]最后,由于接口文件是用于与所述工程结构文件和所述程序文件进行交互的,因此对应于不同的平台,由于其底层和终端硬件不一致,因此其工程结构文件不一致,因此其接口文件也不一致,所提供给程序文件调用的调用接口也不一致。而用户在编写代码时,是针对源应用程序工程的接口文件进行开发的,因此,所采用的调用接口也是源应用程序工程的接口文件的调用接口。为此,需要在步骤S104中,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。其中调用,指的是程序文件调用接口文件的调用接口,调用接口包括函数、变量、对象、宏等。
[0031]本实施例减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率。
[0032]同时,由于本发明是根据一个平台的应用程序工程,生成其他平台的应用程序工程,因此可以直接进行编译,从而可以减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。
[0033]在其中一个实施例中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:
[0034]拷贝所述源应用程序工程得到待编译应用程序工程;
[0035]将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。
[0036]在其中一个实施例中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:[0037]将目标应用程序工程中的程序文件替换为所述源程序文件;
[0038]目标应用程序工程作为待编译应用程序工程。
[0039]在其中一个实施例中,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发方法,还包括:根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。
[0040]在其中一个实施例中,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括:
[0041]获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。
[0042]本实施例,提供一个专门的转换文件,该转换文件可以预先生成,例如可以预先生成将ios平台的调用接口替换为Andriod平台的调用接口,或者是将Blackberry平台的调用接口替换为WebOS平台的调用接口。当需要使用时,根据源应用程序工程的平台以及目标应用程序工程的平台,获取相应的转换文件。由于采用转换文件,使得调用简单和不至于多处调用而导致错误。
[0043]在其中一个实施例中,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括:
[0044]遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口 ;
[0045]获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口 ;
[0046]在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。
[0047]本实施例直接在源程序文件中修改调用接口,可以减少增加转换文件,从而缩小待编译应用程序工程的大小。
[0048]在其中一个实施例中,还包括:
[0049]将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行。
[0050]如图2所示为本发明一种移动应用程序跨平台开发装置的结构模块图,包括:
[0051]应用程序工程创建模块201,用于基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;
[0052]源应用程序工程获取模块202,用于获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;
[0053]待编译应用程序工程生成模块203,用于除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;
[0054]调用替换模块204,用于所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
[0055]在其中一个实施例中,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:
[0056]拷贝所述源应用程序工程得到待编译应用程序工程;
[0057]将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。
[0058]在其中一个实施例中,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:
[0059]将目标应用程序工程中的程序文件替换为所述源程序文件;
[0060]目标应用程序工程作为待编译应用程序工程。
[0061]在其中一个实施例中,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发装置还包括:配置文件模块,用于根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。
[0062]在其中一个实施例中,所述调用替换模块,具体用于:
[0063]获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。
[0064]在其中一个实施例中,所述调用替换模块,具体用于:
[0065]遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口 ;
[0066]获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口 ;
[0067]在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。
[0068]在其中一个实施例中,还包括:
[0069]编译模块,用于将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行。
[0070]如图3所示为本发明一个例子的工作流程图,本例子的应用程序工程采用phonegap的应用程序工程,其示意图如图4所示,本例子具体包括:
[0071]步骤S301,生成多个平台的空应用程序工程,每个应用程序工程包括web模块、工程结构文件和配置文件,其中,web模块中包括了程序文件和接口文件,其中平台包括ios平台、Andriod平台、Blackberry平台、WebOS平台、Symbian平台,因此,对应的应用程序工程分别为ios应用程序工程、Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程,而接口文件在phonegap中为.js文件;
[0072]步骤S302,用户在ios应用程序工程中进行开发,编写开发代码,把ios应用程序工程分别拷贝4份得到4份待编译应用程序工程,并把其他应用程序工程,即Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程中除web模块以外的文件全部分别拷贝到待编译应用程序工程中,则待编译应用程序工程具有了各自平台的底层实现;
[0073]步骤S303,把Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程的web模块中的.js文件拷贝到待编译应用程序工程的web模块中,替换掉原来的.js文件,从而把每一个平台和对应平台底层实现关联的接口文件拷贝到待编译应用程序工程中;
[0074]步骤S304,获取对应的转换文件,并封装到对应的待编译应用程序工程中,即获取ios转换Andriod的转换文件、ios转换Blackberry的转换文件、ios转换WebOS的转换文件、ios转换Symbian的转换文件,从而使得程序文件中调用.js文件模块化,统一化调用接口,提供性能和效率;
[0075]步骤S305,把每个待编译应用程序工程中的配置文件修改成相对应信息,把工程和平台相关的信息修改一致;
[0076]步骤S306,将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行,例如在ios环境中打包成.ipk包,在Andriod环境中打包成.apk包。
[0077]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种移动应用程序跨平台开发方法,其特征在于,包括: 基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件; 获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码; 除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行; 所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
2.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括: 拷贝所述源应用程序工程得到待编译应用程序工程; 将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。
3.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括: 将目标应用程序工程中的程序文件替换为所述源程序文件; 目标应用程序工程作为待编译应用程序工程。
4.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发方法,还包括:根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。
5.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括: 获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。
6.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括: 遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口 ; 获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口 ;在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。
7.根据权利要求1所述的移动应用程序跨平台开发方法,其特征在于,还包括: 将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行。
8.一种移动应用程序跨平台开发装置,其特征在于,包括: 应用程序工程创建模块,用于基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件; 源应用程序工程获取模块,用于获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码; 待编译应用程序工程生成模块,用于除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的 平台终端安装和运行; 调用替换模块,用于所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。
9.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括: 拷贝所述源应用程序工程得到待编译应用程序工程; 将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。
10.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括: 将目标应用程序工程中的程序文件替换为所述源程序文件; 目标应用程序工程作为待编译应用程序工程。
11.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发装置还包括:配置文件模块,用于根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。
12.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,所述调用替换模块,具体用于: 获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。
13.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,所述调用替换模块,具体用于: 遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口 ; 获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口 ; 在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。
14.根据权利要求8所述的移动应用程序跨平台开发装置,其特征在于,还包括: 编译模块,用于将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相`应的平台终端安装和运行。
【文档编号】G06F9/44GK103761087SQ201410003481
【公开日】2014年4月30日 申请日期:2014年1月3日 优先权日:2014年1月3日
【发明者】陈伟 申请人:北京京东尚科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1