首页 > 范文大全 > 正文

跨平台的PhoneGap研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇跨平台的PhoneGap研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【 摘 要 】 PhoneGap是一个用于创建移动跨平台应用程序的快速开发平台。只要你会HTML和JavaScript或者Java语言,就可以利用phonegap提供的API去调用各种功能,PhoneGap就能让你可以制作出在各种手机平台上运行的应用。本文主要针对PhoneGap应用开发框架、特性和原理进行分析研究

【 关键词 】 PhoneGap、跨平台开发、开发框架、HTML5

The Cross Platform PhoneGap Research

Wu Jing-jing

(Gansu Industry Polytechnic College GansuTIianshui 741025)

【 Abstract 】 PhoneGap is used to create a mobile rapid cross-platform application development platform. As long as you HTML and Javascript or Java language, you can call the various functions provided by PhoneGap API, PhoneGap can so you can create applications that run on a variety of mobile phone platforms. This article is focused on PhoneGap application development framework, characteristics and principles of analysis.

【 Keywords 】 phonegap; cross platform development; development framework、HTML5

1 引言

随着智能手机的逐渐普及,越来越多开发者加入到移动应用开发的队伍当中。但开发者如果想要自己编写的应用同时在不同的移动设备上运行,就需要要掌握多种开发语言,这无疑增加了跨平台软件开发的困难。为了简化移动应用的编程,制作出能在各种手机平台上运行的应用,Nitobi公司推出了移动应用解决方案PhoneGap。PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。

2 PhoneGap简介

PhoneGap是一个基于HTML\CSS和JavaScript的创建移动跨平台应用程序的快速开发平台。通过 PhoneGap 框架提供的 JavaScript API 能够以非常简单的方式调用移动设备的核心功能,包括地理位置、摄像头、加速器、通讯录、多媒体、文件和网络等功能,PhoneGap就能让你可以制作出在各种手机平台上运行的应用。借助 PhoneGap,你完全可以使用熟悉的 Web 开发技术写出移动 Native App,并到 Apple Store、Google Play 等各平台应用商店中。目前,PhoneGap已实现对iPhone/ipad、Android、Symbian,Palm、黑莓各版本绝大部分功能的支持。

PhoneGap是HTML5移动应用平台,包括两部分。

1)应用开发框架:采用Web/HTML5技术编写应用,支持调用移动设备能力(如GPS等)调用;支持能力插件灵活扩展,允许开发者自行扩展能力插件。

2)手机应用创建工具:将遵循PhoneGap应用框架编写的程序转换/封装生成各平台支持的手机应用。

3 功能特性

PhoneGap是一套非常优秀的手机应用程序框架,它包括有一些特性:

1)开源、免费。

2)跨平台框架,目前支持多种移动设备平台,编写好的代码可以上传到云端服务器,使用云端编译功能编译成各种平台下的应用,支持 iOS、Android、Palm、Symbian、Blackberry、Windows Phone 和 Bada 七大平台。

3)基于HTML5标准的手机应用框架,支持HTML5、CSS3、JavaScript等Web技术,真正实现了只写一次,云端编译。

4)PhoneGap提供非常丰富的API,它们包括Accelerometer移动感应器、Camera摄像头、Compass设备指向、Contacts通讯录、Device设备参数、File文件系统、GPS感应器、Media多媒体、Network网络、Storage存储以及Notification等。

5)提供硬件访问控制,比起传统的Web程序,PhoneGap提供了一些列的JS 的类,可以直接访问硬件,比如加速、相机、指南针、GPS、文件访问等,用JS方便地调用系统硬件,以弥补传统Web程序的错误。

4 PhoneGap基本技术原理

基于PhoneGap应用框架实现的手机应用相当于展示某个网页应用的特别浏览器。PhoneGap将Web程序打包成系统支持的手机应用格式,通过调用系统的浏览器功能实现应用的运行及交互操作。

1)开发语言选择:Web/HTML5几乎是各手机智能平台唯一共同支持的开发技术。因此,PhoneGap采用HTML5技术作为程序开发语言。这也是同一套应用程序能在多个平台运行的技术基础。

2) 应用呈现:标准的Web应用,消费者需要打开移动设备上的浏览器,输入URL然后才能访问Web应用。PhoneGap可以打包Web应用为本地应用格式,比如IOS的ipa、安卓的apk。消费者需要到移动应用商店下载这些应用,安装然后运行。对于目前各个智能平台都具备并开放了浏览器功能,因此,PhoneGap通过调用WebView实现应用UI的呈现及业务逻辑处理,WebView这个内置浏览器特性是Web能被打包成本地客户端的基础,可方便的用HTML5、CSS3页面布局,这是移动Web技术的优势相对于原生开发。

3) JS API扩展:PhoneGap针对不同平台的WebView做了扩展和封装,WebView这个组件变成可访问设备本地API的强大浏览器,所以开发人员在PhoneGap框架下可通过JavaScript访问设备本地API。

4) 插件扩展:实现了一套灵活的插件扩展框架,允许开发者自行扩展能力插件。PhoneGap在不断推出访问本地功能的新API接口,同时PhoneGap提供了一套插件体系来帮助开发者定制扩展插件。事实上,标准的PhoneGap本地API也是以插件方式的方式提供的。通过插件方式,开发者可以使用平台指定的本地语言(比如Java、ObjectC等)编写功能,并通过JavaScript把这些定制化的本地代码暴露出来供PhoneGap应用访问。

5 PhoneGap的缺点

1)性能:运行速度比较慢。 PhoneGap集成多了个平台.程序的载入和UI界面的反应都比原生的程序慢,UI反应延时这是个致命伤,它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。

2)不适合部分程序。如果你的程序需要3D功能,或者对界面刷新有较高的要求,比如游戏程序现在来说还只是用原生的语言会比较好。PhoneGap支持API还有待在各个平台逐步完善。

3)内存消耗大:有测试表明,用PhoneGap于Android Java开发同一个应用。运行PhoneGap应用内存消耗远大于Android Java应用。对于频繁操作,释放内存较慢,从而导致内存消耗量飙升。

4)调用平台资源差。PhoneGap应用程序对平台资源的使用依赖于PhoneGap框架本身,由于PhoneGap是第三方框架,做不到100%调用平台资源,只有依靠PhoneGap的升级满足调用平台资源的需求。

6 结束语

PhoneGap为使用Web打开了一扇大门,HTML、JavaScript和CSS成为了跨平台移动应用开发中的一级语言。更重要的是,PhoneGap延展了浏览器功能,提供了一个基本的框架来实现浏览器本身没有提供的功能。甚至通过PhoneGap,可以把JavaScript无法承担的任务移交给本地代码完成,以达成更好的性能。这种面向跨平台移动应用的混合编程模式(Web技术+本地代码)能够提供更高效的开发速度和更高性能和质量的应用。

参考文献

[1] 陆钢,朱培军,李慧云,文锦军. 智能终端跨平台应用开发技术研究[J]. 电信科学, 2012年05期.

[2] 吴承翰.HTML5在智能设备上的机会[J]. 集成电路应用, 2012年02期.

作者简介:

武晶晶(1981-),女,甘肃酒泉人,讲师;研究方向:网站开发、网络应用。