首页> 中国专利> 一种移动应用程序跨平台开发方法及装置

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

摘要

本发明公开一种移动应用程序跨平台开发方法及装置,开发方法,包括:基于每个平台创建一个不包含开发代码的应用程序工程;获取基于任一平台开发的应用程序工程;除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程;将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。本发明减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率,同时也减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。

著录项

  • 公开/公告号CN103761087A

    专利类型发明专利

  • 公开/公告日2014-04-30

    原文格式PDF

  • 申请/专利权人 北京京东尚科信息技术有限公司;

    申请/专利号CN201410003481.1

  • 发明设计人 陈伟;

    申请日2014-01-03

  • 分类号G06F9/44(20060101);

  • 代理机构11012 北京邦信阳专利商标代理有限公司;

  • 代理人王昭林;金玺

  • 地址 100080 北京市海淀区苏州街20号2号楼2层

  • 入库时间 2024-02-19 23:32:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-24

    专利权的转移 IPC(主分类):G06F9/44 登记生效日:20191204 变更前: 变更后: 申请日:20140103

    专利申请权、专利权的转移

  • 2016-10-12

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20140103

    实质审查的生效

  • 2014-04-30

    公开

    公开

说明书

技术领域

本发明涉及移动应用程序开发相关技术领域,特别是一种移动应用程序跨平台开发方法及装置。

背景技术

移动应用程序开发,是基于不同的平台进行开发的。现有的平台很多,例如ios平台、Andriod平台、Blackberry平台、WebOS平台、Symbian平台等。由于不同平台其底层和终端硬件有很大不同,因此开发者开发移动应用程序需要针对每个平台进行开发,需要耗费大量的资源。

针对上述情况,出现了移动应用程序跨平台开发的方法,其中较为流行的是phonegap工具。其可以在不同平台上创建各自平台的移动应用程序工程,并且允许开发者使用相同的html5或者html、css、js等编程语言开发应用程序。

具体实现步骤:首先开发者在不同平台上通过phonegap支持的语言html、css、js等开发出对应平台的应用程序(该应用程序最终被不同的终端用户使用),然后开发者拷贝不同平台的应用程序工程到不同的编译打包平台,编译和打包成相应平台的包,供用户下载安装和成功运行。

然而,现有的这种跨平台开发,其实只提供创建多个平台的应用程序工程,并且只能在各自的平台上的应用程序工程中开发对应的移动应用程序,最后编译和打包。这种方法对用户和开发者来说必须提供每种平台上开发的应用程序,然后编译打包安装等;对编译平台环境来说效率低下,能效不高。

发明内容

基于此,有必要针对现有技术的移动应用程序跨平台开发需要开发者在每个平台上单独开发,导致效率低下的技术问题,提供一种移动应用程序跨平台开发方法及装置。

一种移动应用程序跨平台开发方法,包括:

基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;

获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;

除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;

所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。

一种移动应用程序跨平台开发装置,包括:

应用程序工程创建模块,用于基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;

源应用程序工程获取模块,用于获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;

待编译应用程序工程生成模块,用于除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;

调用替换模块,用于所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。

本发明通过预先生成基于多个平台的应用程序工程,然后用户只需要在其中一个应用程序工程中编写开发代码,以开发后的应用程序工程作为源应用程序工程,其他平台上的应用程序工程作为目标应用程序工程,将源应用程序工程与目标应用程序工程进行选择性结合,从而得到基于其他平台且已经包含有开发代码的应用程序工程,将这些应用程序工程进行编译后,即可完成多个平台的开发。从而实现了在一个应用程序工程中编写开发代码,就能够生成多个平台对应的终端能够安装和能够成功运行的应用包。本发明减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率,同时也减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。

附图说明

图1为本发明一种移动应用程序跨平台开发方法的工作流程图;

图2为本发明一种移动应用程序跨平台开发装置的结构模块图;

图3为本发明一个例子的工作流程图;

图4为phonegap的应用程序工程示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细的说明。

如图1所示为本发明一种移动应用程序跨平台开发方法的工作流程图,包括:

步骤S101,基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;

步骤S102,获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;

步骤S103,除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;

步骤S104,所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。

本实施例的步骤S101中,预先生成多个平台的应用程序工程,然后在步骤S102中,获取由用户基于任一平台所开发的应用程序工程,用户开发应用程序工程,即在源文件中编写开发代码。

在经过步骤S102获取到源应用程序工程后,在步骤S103中,与目标应用程序工程进行结合,具体结合方式为:从源应用程序工程中选取程序文件,从目标应用程序工程中选取工程结构文件和接口文件,进行结合,得到待编译应用程序工程。则待编译应用程序工程中的工程结构文件和接口文件与对应平台符合,而待编译应用程序工程中也取得了对应的开发代码,使得待编译应用程序工程获得了对应平台的底层实现,以及每个平台和底层实现关联的接口文件。

最后,由于接口文件是用于与所述工程结构文件和所述程序文件进行交互的,因此对应于不同的平台,由于其底层和终端硬件不一致,因此其工程结构文件不一致,因此其接口文件也不一致,所提供给程序文件调用的调用接口也不一致。而用户在编写代码时,是针对源应用程序工程的接口文件进行开发的,因此,所采用的调用接口也是源应用程序工程的接口文件的调用接口。为此,需要在步骤S104中,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。其中调用,指的是程序文件调用接口文件的调用接口,调用接口包括函数、变量、对象、宏等。

本实施例减少了开发者开发相同的多种移动终端应用程序的开发周期,同时提高开发效率。

同时,由于本发明是根据一个平台的应用程序工程,生成其他平台的应用程序工程,因此可以直接进行编译,从而可以减少了编译打包平台的编译打包时间,跨平台编译打包能效得到充分提高。

在其中一个实施例中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:

拷贝所述源应用程序工程得到待编译应用程序工程;

将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。

在其中一个实施例中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:

将目标应用程序工程中的程序文件替换为所述源程序文件;

目标应用程序工程作为待编译应用程序工程。

在其中一个实施例中,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发方法,还包括:根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。

在其中一个实施例中,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括:

获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。

本实施例,提供一个专门的转换文件,该转换文件可以预先生成,例如可以预先生成将ios平台的调用接口替换为Andriod平台的调用接口,或者是将Blackberry平台的调用接口替换为WebOS平台的调用接口。当需要使用时,根据源应用程序工程的平台以及目标应用程序工程的平台,获取相应的转换文件。由于采用转换文件,使得调用简单和不至于多处调用而导致错误。

在其中一个实施例中,所述将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用,具体包括:

遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口;

获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口;

在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。

本实施例直接在源程序文件中修改调用接口,可以减少增加转换文件,从而缩小待编译应用程序工程的大小。

在其中一个实施例中,还包括:

将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行。

如图2所示为本发明一种移动应用程序跨平台开发装置的结构模块图,包括:

应用程序工程创建模块201,用于基于每个平台创建一个不包含开发代码的应用程序工程,所述应用程序工程包括与所述平台的底层和终端硬件交互的工程结构文件、提供给用户编写开发代码的程序文件,以及与所述工程结构文件和所述程序文件进行交互的接口文件;

源应用程序工程获取模块202,用于获取基于任一平台开发的应用程序工程,作为源应用程序工程,所述源应用程序工程的程序文件作为源程序文件,且所述源程序文件包含用户所编写的开发代码;

待编译应用程序工程生成模块203,用于除所述当前平台以外的其他每个平台作为目标平台,基于每个目标平台创建的所述应用程序工程作为目标应用程序工程,每个目标应用程序工程中的工程结构文件作为目标工程结构文件,每个目标应用程序工程中的接口文件作为目标接口文件,为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,所述待编译应用程序工程用于编译打包成对应平台的包,上传相应的平台终端安装和运行;

调用替换模块204,用于所述源应用程序工程的接口文件作为源接口文件,将所述源程序文件对所述源接口文件的调用替换为对所述目标接口文件的调用。

在其中一个实施例中,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:

拷贝所述源应用程序工程得到待编译应用程序工程;

将待编译应用程序工程的工程结构文件替换为所述目标工程结构文件,将待编译应用程序工程的接口文件替换为所述目标接口文件。

在其中一个实施例中,所述待编译应用程序工程生成模块中,所述为每个目标应用程序工程生成包括每个目标工程结构文件、目标接口文件和源程序文件的待编译应用程序工程,具体包括:

将目标应用程序工程中的程序文件替换为所述源程序文件;

目标应用程序工程作为待编译应用程序工程。

在其中一个实施例中,所述应用程序工程还包括配置文件,所述移动应用程序跨平台开发装置还包括:配置文件模块,用于根据目标工程结构文件、目标接口文件和源程序文件修改所述待编译应用程序工程的配置文件的内容。

在其中一个实施例中,所述调用替换模块,具体用于:

获取与所述源程序文件和所述目标接口文件交互的转换文件并加入所述待编译应用程序工程中,所述转换文件将所述源接口文件中提供给源程序文件调用的调用接口替换为所述目标接口文件中具有相同功能的调用接口。

在其中一个实施例中,所述调用替换模块,具体用于:

遍历所述源程序文件,得到所述源程序文件对所述源接口文件的调用接口作为源调用接口;

获取每个源调用接口在所述目标接口文件中具有相同功能的调用接口作为目标调用接口;

在所述源程序文件中,将所述源调用接口替换为所述目标调用接口。

在其中一个实施例中,还包括:

编译模块,用于将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行。

如图3所示为本发明一个例子的工作流程图,本例子的应用程序工程采用phonegap的应用程序工程,其示意图如图4所示,本例子具体包括:

步骤S301,生成多个平台的空应用程序工程,每个应用程序工程包括web模块、工程结构文件和配置文件,其中,web模块中包括了程序文件和接口文件,其中平台包括ios平台、Andriod平台、Blackberry平台、WebOS平台、Symbian平台,因此,对应的应用程序工程分别为ios应用程序工程、Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程,而接口文件在phonegap中为.js文件;

步骤S302,用户在ios应用程序工程中进行开发,编写开发代码,把ios应用程序工程分别拷贝4份得到4份待编译应用程序工程,并把其他应用程序工程,即Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程中除web模块以外的文件全部分别拷贝到待编译应用程序工程中,则待编译应用程序工程具有了各自平台的底层实现;

步骤S303,把Andriod应用程序工程、Blackberry应用程序工程、WebOS应用程序工程、Symbian应用程序工程的web模块中的.js文件拷贝到待编译应用程序工程的web模块中,替换掉原来的.js文件,从而把每一个平台和对应平台底层实现关联的接口文件拷贝到待编译应用程序工程中;

步骤S304,获取对应的转换文件,并封装到对应的待编译应用程序工程中,即获取ios转换Andriod的转换文件、ios转换Blackberry的转换文件、ios转换WebOS的转换文件、ios转换Symbian的转换文件,从而使得程序文件中调用.js文件模块化,统一化调用接口,提供性能和效率;

步骤S305,把每个待编译应用程序工程中的配置文件修改成相对应信息,把工程和平台相关的信息修改一致;

步骤S306,将所述源应用程序工程和所述待编译应用程序工程在对应平台环境中编译打包成对应平台的包,上传相应的平台终端安装和运行,例如在ios环境中打包成.ipk包,在Andriod环境中打包成.apk包。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号