一种应用程序开发的方法和装置制造方法及图纸

技术编号:7627417 阅读:184 留言:0更新日期:2012-08-01 20:25
本发明专利技术公开了一种应用程序开发的方法和装置,属于计算机领域。方法包括:将系统原生API封装成不同的接口,由不同的接口组成接口层;基于web技术开发应用程序,应用程序触发浏览器相应的事件,以通知浏览器组件层所需执行的操作和执行操作所需的参数;浏览器组件层监听到事件发生改变后,根据操作和执行操作所需的参数,向接口层相应的接口进行调用,将结果返回给应用程序进行处理。装置包括接口层模块、web层模块和浏览器组件层模块。通过上述方案,摆脱了平台限制,开发者可以使用自己熟悉的web技术和工具进行开发,简化了开发过程,同时通过对系统原生API进行封装得到的接口层,web应用程序能够接触更多的系统原生API,提升了web能力。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种应用程序开发的方法和装置
技术介绍
随着计算机技术的快速发展,计算机领域出现了很多应用程序开发的方法,如原生应用程序或web应用程序等。原生应用程序是指基于移动平台开发的应用程序。原生应用程序开发时需要使用移动平台限定的开发语言、工具集、编译器、甚至开发平台。以ios移动平台为例,开发基于ios移动平台的原生应用程序需要使用objective-c开发语言,使用apple发布的xcodesdk进行编译调试,并且只能在mac系统上进行开发、编译、模拟测试、打包部署等工作。这种开发方式可以使用现有sdk(SoftwareDevelopment Kit,软件开发工具包)所提供的一些工具和组件,性能比较好,接口比较丰富,但是会被移动平台限制所能使用的技术和工具,而且每次开发只能针对特定平台,不具有跨平台能力。web应用程序是指基于web技术,如javascript、css、或html等,开发的应用程序。web应用程序开发时,开发者可以使用自己熟悉的web技术、开发工具(如Dreamweaver> Aptana、或 Notepad++)、和系统平台(如 windows 或 Iinux)等进行开发,还可以使用PC (Personal Computer,个人计算机)上常用的浏览器直接进行调试,无需受移动平台所指定的开发工具的限制。这种开发方式简单便捷,但是只能运行在浏览器上,受浏览器安全沙箱机制的限制,只能给开发者提供有限的接口,可能无法满足所有项目需求,并且图形渲染性能和数据计算能力也不如原生应用程序,可能会给项目引入性能问题。综合上述,现有的原始应用程序开发方法受限于特定的平台,现有的web应用程序开发方法接触的系统原生API (Application Programming Interface,应用程序接口)有限,因此,如何摆脱平台限制,同时能够接触更多的系统原生API,现有技术还没有相关的解决方案。
技术实现思路
为了摆脱平台限制,同时能够接触更多的系统原生API,本专利技术实施例提供了一种应用程序开发的方法和装置。所述技术方案如下—种应用程序开发的方法,所述方法包括将系统原生应用程序接口 API封装成不同的接口,由所述不同的接口组成接口层;基于web技术开发应用程序,所述应用程序触发浏览器相应的事件,以通知浏览器组件层所需执行的操作和执行所述操作所需的参数;浏览器组件层监听到所述事件发生改变后,根据所述操作和执行所述操作所需的参数,向所述接口层相应的接口进行调用,并将结果返回给所述应用程序进行处理。一种应用程序开发的装置,所述装置包括接口层模块,用于将系统原生应用程序接口 API封装成不同的接口,由所述不同的接口组成接口层;Web层模块,用于基于web技术开发应用程序,所述应用程序触发浏览器相应的事件,以通知浏览器组件层所需执行的操作和执行所述操作所需的参数;浏览器组件层模块,用于浏览器组件层监听到所述事件发生改变后,根据所述操作和执行所述操作所需的参数,向所述接口层相应的接口进行调用,并将结果返回给所述应用程序 进行处理。本专利技术实施例提供的技术方案带来的有益效果是通过将系统原生API封装成不同的接口,基于web技术开发应用程序,由浏览器组件层对应用程序和接口层的接口进行适配,从而摆脱了平台限制,开发者可以使用自己熟悉的web技术和工具进行开发,简化了开发过程,同时通过对系统原生API进行封装得到的接口层,web应用程序能够接触更多的系统原生API,提升了 web能力。附图说明图I是本专利技术实施例I中提供的应用程序开发的方法流程图;图2是本专利技术实施例I中提供的应用程序开发的结构示意图;图3是本专利技术实施例I中提供的应用程序开发的装置结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例I参见图1,本实施例提供了一种应用程序开发的方法,包括101 :将系统原生API封装成不同的接口,由不同的接口组成接口层;102 :基于web技术开发应用程序,该应用程序触发浏览器相应的事件,以通知浏览器组件层所需执行的操作和执行该操作所需的参数;103:浏览器组件层监听到该事件发生改变后,根据该操作和执行该操作所需的参数,向接口层相应的接口进行调用,并将结果返回给该应用程序进行处理。具体的,应用程序可以通过回调函数处理返回的结果。上述方法具体可基于图2所示的应用程序开发架构实现。该架构包括系统原生API层201、接口层202、浏览器组件层203和web层204。系统原生API层201,由移动平台底层提供的系统原生API组成,移动平台如ios或 android 等。接口层202,用于将系统原生API封装成不同的接口,由不同的接口组成该接口层。接口层至少包括文件接口(File)、传感器接口(Sensor)、设备接口(Device)和摄像头接口(Camera)中的至少一个。文件接口,用于获取和修改文件和目录的信息,打开、关闭、读取、或写入文件内容,复制、移动、或删除文件,实现文件上传或发送图片。由于ios移动平台上不允许javascript浏览文件系统,因此通过本实施例的文件接口,则可突破限制,实现文件上传、发送图片等文件相关功能。传感器接口,用于提供LBS (Location Based Service,基于位置服务)的接口,包括加速度计(Accelerometer)、罗盘(Compass)、或 GPS (Global PositioningSystem,全球定位系统)等位置信息和速度信息的接口。备接口,用于提供获取设备相关信息的接口,设备相关信息包括设备名、设备版本、或系统版本。设备接口可以给web技术提供设备相关信息,从而判断不同版本的系统和平台以做相应兼容。web层204,用于基于各种web技术开发应用程序,该应用程序触发浏览器相应的事件,以通知浏览器组件层203所需执行的操作和执行该操作所需的参数。Web技术包括但不限于javascript、css、或html等。开发者可以像开发基于桌面浏览器的web应用程序一样,使用自己熟悉的web技术和工具进行开发,也可以直接使用特性相近的浏览器,如safari, chrome等进行快速测试,只需与下层的浏览器组件层约定好通信协议即可。具体的,应用程序可以通过格式为协议头调用命令参数的通信协议格式触发浏览器相应的事件。其中,冒号为字段分隔符,协议头,用于通知浏览器组件层本请求是调用接口层相应的接口的请求;调用命令,用于通知浏览器组件层所需执行的操作;参数,用于通知浏览器组件层执行操作所需的参数,参数可以有一个或多个。另外,应用程序也可以通过其他通信协议格式触发浏览器相应的事件,只要应用程序和浏览器双方能够互相识别和理解即可。以QQ桌面项目所使用的javascript与浏览器组件层之间的通信协议格式QQDesk: open_urI: web2. qq. com为例,QQDesk为协议头,通知浏览器组件层这是一个由web层javascript技术调用接口层相应接口的请求,同时该协议头可以让浏览器区分开地址跳转等其他协议请求,open_url为调用命令,通知浏览器组件层本请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:唐启宏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术