一种基于移动平台的应用软件开发方法

文档序号:9304426阅读:448来源:国知局
一种基于移动平台的应用软件开发方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种基于移动平台的应用软件开发方法。
【背景技术】
[0002]目前在基于移动平台的应用软件开发方法中,如在Android平台上进行软件开发,主要软件开发方法有以下几种:
[0003]I,纯 Android Java 的开发方法
[0004]2, Android Java语言配合Android底层C/C++语言开发的NDK开发包联合开发的方法
[0005]3,基于现有跨平台开发语言As3 (Adobe出品,网络flash的开发语言)或者C# (微软出品,Net系列)或者Unity3d(优美缔出品,主要用于跨平台3d游戏)等进行开发。
[0006]通常情况下,开发者在自己熟悉的平台上(例如windows)使用以上语言的开发环境编写代码,然后通过Android虚拟机或者USB连接到真实设备进行调试。由于系统不同,在windows的开发环境下一般也需要进行一定的配置,开发调试方法与开发windows上的应用程序有所不同,同时由于调试需要发生在模拟设备或者外接的Android移动设备上,而模拟设备或者Android设备往往性能较低,大量的开发时间浪费在来回倒腾的硬件连接和网络等待时间上,从而导致应用软件开发方法的开发成本高、开发效率低。

【发明内容】

[0007]鉴于目前基于移动平台的应用软件开发方法存在的上述不足,本发明提供一种开发成本低、开发效率非常高的基于移动平台的应用软件开发方法。
[0008]为达到上述目的,本发明的实施例采用如下技术方案:
[0009]一种基于移动平台的应用软件开发方法,该方法包括以下步骤:
[0010]在windows平台下,运用跨平台的开发语言设计应用软件的主体部分,所述主体部分运行与移动平台无关;
[0011]运用跨平台的开发语言创建虚拟机,所述虚拟机没有使用依赖于平台的函数;
[0012]利用跨平台的开发语言进行动态代码加载和类型反射,生成桥接的代码;
[0013]通过消息机制,实现主体部分中与平台无关的代码通过桥接与平台相关的代码的互相调用,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中;
[0014]将开发出来的应用软件代码拷贝到移动平台上进行测试与使用。
[0015]依照本发明的一个方面,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中之前,跨平台的开发语言通过本地接口找到安全沙箱的位置。
[0016]依照本发明的一个方面,所述跨平台的开发语言使用字符串定义的通用函数调用接口,在windows平台调用代码中通过解析字符串来查找和调用函数。
[0017]依照本发明的一个方面,所述跨平台的开发语言为Adobe Air的开发包;所述移动平台为Android或1s或windows surface或黑莓。
[0018]本发明还公布了一种基于移动平台的应用软件开发系统,所述系统包括:
[0019]主体设计模块:该模块用于:在windows平台下,运用跨平台的开发语言设计应用软件的主体部分,所述主体部分运行与移动平台无关;
[0020]创建虚拟机模块:该模块用于:运用跨平台的开发语言创建虚拟机,所述虚拟机没有使用依赖于平台的函数;
[0021]代码生成模块:用于利用跨平台的开发语言进行动态代码加载和类型反射,生成桥接的代码;
[0022]调用模块:用于通过消息机制,实现主体部分中与平台无关的代码通过桥接与平台相关的代码的互相调用,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中;
[0023]测试模块:用于将开发出来的应用软件代码拷贝到移动平台上进行测试与使用。
[0024]依照本发明的一个方面,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中之前,跨平台的开发语言通过本地接口找到安全沙箱的位置。
[0025]依照本发明的一个方面,所述跨平台的开发语言使用字符串定义的通用函数调用接口,在windows平台调用代码中通过解析字符串来查找和调用函数。
[0026]依照本发明的一个方面,所述跨平台的开发语言为Adobe Air的开发包;所述移动平台为Android或1s或windows surface或黑莓。
[0027]本发明实施的优点:由于本发明的基于移动平台的应用软件开发方法在windows平台下,运用跨平台的开发语言设计应用软件的主体部分,所述主体部分运行与移动平台无关;运用跨平台的开发语言创建虚拟机,所述虚拟机没有使用依赖于平台的函数;利用跨平台的开发语言进行动态代码加载和类型反射,从而实现一段桥接的代码,通过消息机制,实现主体部分中与平台无关的代码通过桥接与平台相关的代码的互相调用,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中;将开发出来的应用软件代码拷贝到移动平台上进行测试与使用,由于windows系统的性能数倍于移动平台设备,且应用软件开发过程中没有硬件连接和网络等待时间,应用软件开发完成后,只需将设计代码拷贝到移动平台上可以直接测试与使用,整个开发过程速度快且方便,节省大量的时间,因此本发明的基于移动平台的应用软件开发方法的开发成本低、开发效率非常高。
[0028]具体实施方法
[0029]一种基于移动平台的应用软件开发方法,该方法包括以下步骤:
[0030]在windows平台下,运用跨平台的开发语言设计应用软件的主体部分,所述主体部分运行与移动平台无关;
[0031]运用跨平台的开发语言创建虚拟机,所述虚拟机没有使用依赖于平台的函数;
[0032]利用跨平台的开发语言进行动态代码加载和类型反射,生成桥接的代码;
[0033]通过消息机制,实现主体部分中与平台无关的代码通过桥接与平台相关的代码的互相调用,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中;
[0034]将开发出来的应用软件代码拷贝到移动平台上进行测试与使用。
[0035]下面以基于Android平台的应用软件开发方法为例,对本发明作进一步说明。
[0036]步骤1:在windows平台下,运用跨平台的开发语言设计应用软件的主体部分,所述主体部分运行与Android平台无关;
[0037]我们采用的跨平台的开发语言为Adobe公司的As3脚本语言,通过Adobe Air的开发包实现跨平台的开发,在应用开发时,将应用软件中的主体部分独立出来,所述主体部分运行与Android无关,使用windows平台进行主体部分的开发,由于在效率较高的windows平台上完成软件主体部分的开发,再加上windows系统的性能数倍于Android移动设备,且没有硬件连接和网络等待时间,开发效率非常高。
[0038]步骤2:运用跨平台的开发语言创建虚拟机,所述虚拟机没有使用依赖于平台的函数;
[0039]由于跨平台开发语言针对不同的平台实现了动作行为相同的虚拟机(VM),在我们的程序代码一致的情况下,只要我们没有调用依赖于平台的函数,则无论是在windows上执行,还是在Android系统上执行,实现出来的效果是完全一致的。因此我们的软件在windows上的显示方式和Android平台上的显示方式可以做到一致。
[0040]同时,与Android相关的部分(例如获取Android设备的wifi地址,PPI信息等硬件信息)仍然使用原来的方式进行编程。
[0041]步骤3:利用跨平台的开发语言进行动态代码加载和类型反射,生成桥接的代码;
[0042]应用软件的两端开发完毕后,我们利用跨平台的开发语言的高级功能:动态代码加载和类型反射,实现一段桥接的代码。
[0043]由于windows上开发的模块,在Android平台上是动态加载进来的,且对于Android上的应用,默认的运行环境是应用自身所在的位置,因此动态代码加载进来的模块需要再次加载其他的资源文件时,其相对路径应当以应用的相对路径为准。这就导致在windows上开发的代码,在Android上运行时如何自动替换路径的问题,这个问题我们是通过桥接代码动态加载时,直接修改被加载的环境变量实现的。这样在windows上开发时,程序使用的是开发时的路径,而加载到新环境下之后,则自动使用新环境下的路径。
[0044]步骤4:通过消息机制,实现主体部分中与平台无关的代码通过桥接与平台相关的代码的互相调用,所述桥接的代码须将动态代码放置到所述跨平台的开发语言认定的安全沙箱中;
[0045]由于使用Adobe Air开发时,虚拟机(VM)会判断动态加载进来的代码是否安全,会对加载进来的第三方作访问限制,因此桥接的代码需要将动态代码放置到Air认定的安全沙箱中,这个步骤我们是通过了 Adobe Air提供的C语言的扩展实现的,即:首先通过C语言实现的本地接口,找到安全沙箱的位置,然后将动态加载的代码放置到其中;然后动态代码加载成功后,代码就拥有与调用应用相同的权限,这就使windows平台上开发的功能可以无缝使用。
[0046]步骤5:将开发出来的应用软件代码拷贝到Android平台上进行测试与使用。
[0047]通过桥接的代码,我们在高效快速的windows桌面系统下对应用软件进行开发,完毕以后,仅需要将生成的代码拷贝到Android设备的sdcard上就可以直接测试与使用,整个流程迅速且方便。
[0048]由于平台的差异性,软件中必然会使用到一些与当前系统相关的部分,而这些部分是无法移植的。这个部分我们利用了 Adobe Air的本地扩展能与C语言开发的模块交互
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1