`

HTML5开发框架PhoneGap技术分析

阅读更多

 

      移动应用产品往往需要考虑多个平台的支持,单一平台很难保证应用的覆盖面,换句话说,就是用户群体的量和持续的活跃性上从长期的角度而言往往存在短板。另外从开发的角度而言.多平台的支持往往需要建立不同的技术团队.而平台之间开发技术也是完全迥异的. 开发一个具有相同业务的应用Natural-Application需要使用到不同平台的框架和开发语言.使用 C/C++ 的 Symbian、使用 Object C 的 iOS 和使用 Java 的 Android 应用开发技术,几乎是完全无法融合的. PhoneGap跨平台移动应用开发框架正是应运而生.

 

  我们需要搞清楚几个概念:Web App,Native App,Hybird App移动平台Application几个概念:

  Web App

   这个主要是采用统一的标准的HTML,JavaScript.CSS等web技术开发.通过不同平台的浏览器访问来实现跨平台.同时可以通过浏览器支持 充分使用HTML5特性,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能,也不适合高性能要求的场合.

  Native APP

  就是所谓的原生应用.指的是用平台特定的开发语言所开发的应用.使用它们的优点是可以完全利用系统的API和平台特性,在性能上也是最好的。缺点是由于开发技术不同,如果你要覆盖多个平台,则要针对每个平台独立开发,无跨平台特性.

  Hybird App

   则是为了弥补如上两者开发模式的缺陷的产物.分别继承双方的优势.首先它让为数众多的web开发人员可以几乎零成本的转型成移动应用开发者;其次,相同 的代码只需针对不同平台进行编译就能实现在多平台的分发,大大提高了多平台开发的效率;而相较于web App,开发者可以通过包装好的接口,调用大部分常用的系统API.

  而PhoneGap正是Hybird APP目前框架中集大成者

 

phonegap简介

  phoneGap是Nitobi开发的一个免费开源的开发框架,目前最新版本是1.5,用来构建跨平台的使 用HTML,CSS和JavaScript的应用程序。以written once, run everywhere一次编译到处运行而受欢迎,只需要改动少量代码而实现跨平台。

  phonegap 简单来说是一个中间件,为移动前端提供访问移动终端设备及资源的接口。采用统一的标准的html、javascript、css等web技术开发.通过不 同平台的浏览器访问来实现跨平台。通过javascript脚步代码调用系统资源,以降低开发难度,所以受到广大web开发人员的青睐。

   2011年10月4日Adobe宣布收购了创建了HTML5 移动应用框架PhoneGap 和PhoneGap Build的新创公司Nitobi Software。这使得phonegap有了坚强的后盾,phonegap的发展前景也是一片光明。与此同时,PhoneGap的开源框架已经被累积下 载60万次,借助PhoneGap平台,已有数千应用程序建立在iOS,android以及其它操作系统之上。

 

phonegap技术要求

  Adobe dreamweaver 5.5版本为phonegap提供了优越的开发环境。开发人员可以使用dreamweaver 5.5开发android app。虽然phonegap门槛较低,但是也要求开发人员具备必要的技能。

  要求开发人员掌握html、css、javascript技术,特别要求javascript技术,在javascript基础上需要掌握jQuery mobil框架ajax通讯技术。

 

phonegap优缺点评估

  日前,phonegap框架热度如火如荼。一项技术当然会有其优缺点,我们是选用phonegap还是选择Native APP,要先分析两者的利弊,再根据具体应用选择,

  5.1 phonegap优点:

   5.1.1、可跨平台。phonegap作为跨平台框架,其实并别written once, run everywhere,各移动平台的差异还是较大,phonegap框架帮我们解决了差异性,javascript与平台系统的连接由phonegap框 架完成。成为连接移动终端的适配器,或者说中间件。它的原理如下图:

  PhoneGap通过调用JavaSCript 调用API库实现和各个平台的SDK进行无差别的交互. 以达到调用不同平台手机上摄像头,文件系统,重力感应.GPS定位等功能。

  5.1.2 易用性

  phonegap开发人员无需直接操作平台资源。对平台资源的操作完成由phonegap框架完成。开发人员只需要用javascript调用phonegap API就可以完成对平台资源操作。由于phonegap框架限制,对平台资源操作是有一定限制的。

  phonegap开发人员可以从web开发人员转入,目前来说web开发人员较多,成本也较低,转入phonegap开发后,可以降低移动应用产品的开发成本。这样,移动应用数量将直线提升。

  5.1.3 提供硬件访问控制

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

  5.1.4 可利用成熟javascript框架

   web的发展,诞生了许多javascript框架。著名的有Ext js、jQuery。随着移动应用的需求越来越大,jQuery出现了jQuery mobile版本。它的体积小,为移动应用量身定制。使用javascript框架也降低了开发难度,使得移动应用更美观。

  5.1.5 方便的安装和使用

  PhoneGap的架构很复杂,但对于大多数开发者来说,并不需要了解phonegap内部,只用很简单的配置就可以搭好环境。只用专注写好自己的Web页面,拷贝进去就可以了。

  5.2 phonegap不足之处

  5.2.1 运行速度慢

  PhoneGap集成多了个平台.程序的载入和UI界面的反应都比原生的程序慢,UI反应延时这是个致命伤 .它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。 这在用户体验上来说PhoneGAp依然无法替代原生应用程序。

  另外,html、javascript、css都运行在各平台内置浏览器webkit之上,受到webkit处理速度影响。目前来说运行速度比较慢,性能较差。

  5.2.2 不适合部分程序

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

  5.2.3 调用平台资源差

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

  比如说,现在版本未能支持视频解码与播放等

  5.2.4 内存消耗大

  有测试表明,用phonegap于android java开发同一个应用。运行phonegap应用内存消耗远大于原生态android java应用。对于频繁操作,释放内存较慢,从而导致内存消耗量飙升。

  5.2.5 调试难度大

  目前phonegap可以在控制台输出简单的JS调试日志,但是并不方便。调试js只能选择firefox firebug调试。

  5.2.6 开发费用方面

  phonegap可以满足web开发人员转入。但由于html5的新发展,对javascript、css的要求更高。所以开发良好用户体验应用,在开发费用上并不太乐观。

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    Html5在Android应用开发中的技术分析

    PhoneGap是一个开源的移动应用开发框架,可以让开发者使用Web技术(如HTML5, CSS和JavaScript)来创建跨平台的移动应用。它支持包括Android在内的7个主要移动平台。使用PhoneGap的优势在于开发成本低,通常只需要...

    PhoneGAP采用移动Javascript+html5框架开发移动程序入门源码

    PhoneGap是一种跨平台的移动应用开发框架,它允许开发者使用HTML5、JavaScript和CSS3等Web技术来构建原生的移动应用程序。这个“PhoneGAP采用移动Javascript+html5框架开发移动程序入门源码”提供了丰富的学习资源,...

    Phonegap技术分析

    PhoneGap技术分析 PhoneGap是一种跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用。这个技术的核心概念是将Web应用包装在原生的移动应用壳中,通过WebView(如iOS的...

    IONIC+PhoneGap项目源码

    IONIC是一款基于AngularJS框架的开源HTML5移动应用开发框架,它允许开发者使用Web技术(如HTML、CSS和JavaScript)构建原生感观的移动应用。IONIC的设计理念是“移动优先”,它提供了丰富的UI组件,使得开发者能够...

    phonegap开发插件合集

    PhoneGap是一种流行的开源框架,它允许开发者使用HTML、CSS和JavaScript来构建原生移动应用程序。PhoneGap的核心理念是通过Web技术实现跨平台的移动应用开发,同时能够访问设备的硬件功能,如摄像头、GPS、存储等。...

    HTML5开发Android

    4. **Hybrid应用开发框架**:使用HTML5开发Android应用时,通常会借助像Apache Cordova这样的框架,它允许开发者使用Web技术(HTML, CSS, JavaScript)构建应用,并通过插件系统访问设备的原生功能,如相机、联系人...

    phonegap完整例子!

    "是针对Android平台的一个示例项目,特别适合在pad设备上运行,并且包含了自定义插件的实现,这对于深入理解和使用PhoneGap技术尤其有帮助。 1. **PhoneGap基础概念** - PhoneGap基于Apache Cordova,是一个让...

    PhoneGap简单示例

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序。这个"PhoneGap简单示例"是一个基础的学习资源,旨在帮助初学者快速理解和实践PhoneGap开发流程。 PhoneGap的核心理念...

    PhoneGap html5实现的2048安卓游戏源码

    PhoneGap是一款开源的框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序,尤其适合跨平台开发。在这个“PhoneGap html5实现的2048安卓游戏源码”项目中,我们可以深入理解如何结合PhoneGap与...

    phonegap源码+示例

    PhoneGap是一种开源框架,它允许开发者使用Web技术(如HTML5、CSS3和JavaScript)来构建跨平台的移动应用程序。这个资源包含PhoneGap的源代码,版本为Cordova2.9,以及相关的示例程序,这为我们深入理解PhoneGap的...

    PhoneGap实例

    通过学习和分析`phonegap100_apidemo`中的代码,开发者不仅能理解PhoneGap的工作原理,还能掌握如何将这些技术应用到实际项目中,从而构建出功能丰富的跨平台移动应用。在实践中,不断调试和优化这些示例,有助于...

    PhoneGAP实例源码

    PhoneGap是一种跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序。PhoneGap的核心理念是通过Web技术来桥接移动设备的原生功能,使得开发者无需深入学习各种平台的原生代码...

    ionic+phonegap 案例源码

    这个源码项目是一个综合了Ionic和PhoneGap技术的移动应用实例,可以帮助开发者了解如何使用Web技术构建跨平台的移动应用。通过分析提供的文件,我们可以学习到如何组织一个完整的Ionic项目结构,使用Cordova插件来...

    PHONEGAP入门经典源码

    PhoneGap是一种跨平台的移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序。PhoneGap的出现使得Web开发者无需学习Objective-C、Java等平台特定的编程语言,就能将他们的Web技能应用...

    phonegap入门经典源码

    PhoneGap入门经典源码是针对初学者的一份宝贵资源,旨在深入浅出地介绍PhoneGap这一跨平台移动应用开发框架的基础知识。PhoneGap允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用,覆盖iOS、Android、...

    phonegap2.9.0插件开发

    PhoneGap 2.9.0 是一个早期版本的开源框架,它允许开发者使用HTML、CSS和JavaScript来构建原生移动应用程序。PhoneGap的核心理念是通过Web技术实现跨平台的移动应用开发,它将Web应用程序封装在原生的移动平台上,...

    安卓Android源码——Phonegap+HTML5+CSS3+jQuer简单界面模板示例及源码.zip

    对于开发者来说,利用Phonegap这种混合开发框架,可以结合Web技术(如HTML5、CSS3和jQuery)构建跨平台的应用,大大提高了开发效率。本资源包“安卓Android源码——Phonegap+HTML5+CSS3+jQuer简单界面模板示例及源码...

    Phonegap登陆及九宫格示例Android源码下载

    PhoneGap是一款跨平台的移动应用开发框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序。这个“Phonegap登陆及九宫格示例Android源码下载”是一个基于PhoneGap的项目,提供了登录界面和九宫格...

Global site tag (gtag.js) - Google Analytics