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

PhoneGap-2.9.0:跨平台移动应用开发框架概述 PhoneGap支持一系列设备API,允许JavaScript访问原生设备功能,如摄像头、联系人、设备方向、存储等。这些API极大地扩展了HTML5应用的能力,使其能够访问设备硬件。PhoneGap Build是Adobe推出的一个强大的在线服务,它能够将开发者编写好的前端代码,自动打包成iOS、Android、Windows、webOS等平台上的应用程序。无需配置复杂的开发环境,只需将源代码上传至PhoneGap Build,即可快速构建应用程序。 阅读详情

相关推荐

HTML5, PhoneGap与jQuery Mobile综合开发教程

PhoneGap是一个使用HTML、CSS和JavaScript来构建跨平台移动应用的开源框架。通过PhoneGap,开发者可以使用标准的Web技术创建应用程序,然后将这些应用程序打包成特定平台的原生应用。它的工作原理是通过一个称为桥接的中间层,这个层允许Web技术与原生平台的API进行交互。PhoneGap的功能包括但不限于以下几点:原生API访问能力:利用PhoneGap提供的插件机制,可以访问原生设备的功能,如摄像头、文件系统、地理位置、传感器等。设备兼容性。

weixin_30951515的博客 855

企业HTML5前端开发最需要的技能及技术难点分析

nodejs 知识结构图

图解AI 7168

使用PhoneGap, jQuery和HTML5实现手机相机和相册图片获取

PhoneGap是一个开源的移动应用开发框架,允许开发者使用HTML、CSS和JavaScript等网页技术构建跨平台的移动应用。该框架的核心是基于WebView组件,它封装了原生应用的API,使得开发者可以利用熟悉的前端技术完成移动应用的开发。HTML5引入了一系列新的语义化标签,目的是让开发人员能更加方便地定义页面结构,同时也增强了搜索引擎对页面内容的理解。新增标签例如:<header>:定义文档或节的头部,通常包含导航链接或相关介绍。<footer>

weixin_29317963的博客 1178

HTML5技术的发展前景解析

一 摘要HTML5越来越火,很多人都投入学习HTML5之列,那么HTML5到底有哪些优势竟然吸引这么多人去学习,今天给大家做一个HTML5技术详细的分析. 在正式讲解之前,还是请大家先思考几个问题: 前端开发技术发展阶段? HTML5的发展历程? 开发HTML5的组织有哪些?各自工作分工是什么? HTML5与以往HTML比有哪些新特性? HTML5它的功能构成是什么? HTML5设计原理是什么?

图解AI 1万+

HTML5游戏技术开发难点分析 - Intel- Developer Zone

HTML5游戏技术开发难点分析 - Intel- Developer Zone.jpeg

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

Html5在Android应用开发中的技术分析,一个讲述Html5在Android中的应用的书籍,作者在实际开发过程中遇到的问题,及解决办法。前任遇到坑,后人享福。欢迎下载

如何将HTML5性能发挥到极致

HTML5作为新兴领域越来越热。然而在移动设备硬件性能弱于PC的背景下,对性能的需求显得更为重要,而HTML5性能优化前与优化后有着极大的差别,如何优化才能提高性能,对此熟知的人很少。本文以LayaAir引擎为例,通过代码示例详细阐述如何利用引擎对HTML5作出性能的极致优化。主题包括: 代码执行基本原理 基准测试 内存优化 图形渲染性能 减少CPU使用量 其他优化策略第1节:代码执行...

Layabox 引擎 1597

从零到一:TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南

本文详细介绍了TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南,涵盖硬件连接、软件配置、固件烧录、雷达参数设置及数据处理等关键步骤。通过MATLAB等工具,开发者可高效实现毫米波雷达数据采集,适用于自动驾驶、工业检测等领域。

weixin_29001327的博客 967

phonegap

http://www.phonegap.cn/?page_id=442: phonegap中国(技术等) http://blog.youkuaiyun.com/ch_soft/article/details/7337581: 简介

brucexu1978的专栏 538

【VS Code+Verilog+Vivado使用】(1)常用插件

VS Code + Verilog + Vivado联合使用说明

XDUryan的博客 5637

台达PLC使用RS485Modbus指令通信

台达PLC,RS485,Modbus RTU,从站梯形图,0X01,0X02,0X05,CRC校验

lilililimu的博客 1万+

PhoneGap & HTML5 学习资料网址

为什么80%的码农都做不了架构师?>>> ...

weixin_34356555的博客 147

PLc S7-200 smart如何使用Modbus 485通讯传输接收数据

西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器,从而实现PLC通过modbus方式控制其他器件。提示:以下是本篇文章正文内容,下面案例可供参考。

xjbsw0的博客 6万+

PhoneGap开发初体验:用HTML5技术开发本地应用

====================================================== 注:重要!程序员如何有效的放松身心!下班后做什么? ====================================================== 怎样在智能手机(以及其他移动设备)上将html5应用程序作为本地程序运行?虽然现在web技术发展得相当快,但是想要在浏

106

GXHT40温湿度传感器:I2C通信与CRC校验实战解析

本文详细解析GXHT40温湿度传感器的I2C通信协议与CRC校验机制,涵盖硬件连接、时序控制、数据读取及加热功能应用。通过实战案例分享优化技巧与异常处理,帮助开发者提升嵌入式系统中传感器数据的准确性与可靠性。

rgv234567的博客 242

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 625

HTML5开发框架推荐

1、关于html5主流开发框架的优劣对比      选择什么样的框架,需要以产品原型及特定需求为出发点,择优而用,同时考虑对框架的熟悉程度、开发维护成本以及适用性。      1.1、Sench Touch              Sench Touch是最早支持html5技术的web框架。              优势:它对html5及css3标准支持较为完善,同时也兼容Andr...

heicx_sudo blog 246

Zemax与Matlab交互:双胶合优化详细流程

Zemax与Matlab交互:双胶合优化详细流程

weixin_72050316的博客 629

HTML5 APP开发环境的框架搭建

HTML5 APP开发环境的框架搭建 转载:橘子博客 HTML5 开发APP需要一个开发框架和编译环境,参阅了相关资料后选择开源的PhoneGap。PhoneGap是一个开源的开发框架,使用HTML5,CSS3和JavaScript来构建跨平台的的移动应用程序。 下面介绍PhoneGap环境的搭建,及第一个Web APP。 1、选择你使用的平台,PhoneGap支持6个平台的开发和编译

夏牛 8万+

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1341

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

小强的HTML5移动开发之路(21)—— PhoneGap

一、PhoneGap是什么 PhoneGap 是一个用基于 HTML,CSS 和 JavaScript 的,创建移动跨平台移动应用程序的快速开发框架。它使开发者能够利用 iPhone,Android,Palm,Symbian,WP7,Bada 和 Blackberry 智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外 PhoneGap 拥有丰富的插件,可以以此扩展无

水寒 7399

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

xcode下phoneGap搭建和html5学习

本文主要介绍如下在xcode中加入phoneGap并在该框架中运行html代码在iphone模拟器中呈现。              1,关于phonegap       百度文库中关于PhoneGap是这样定义的,它是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。      对开发者来说,可以用来在android和iphone开发环境中加入这

雁字回时,花满西楼 2136

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android html5 phonegap,[Android_HTML5]基于PhoneGap(Cordova)框架的HTML5开发

PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台。官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表。但是有一条跨平台,却是很明显的优势。因为它采用HTML5+JavaScript的模式来开发应用。PhoneGap用JavaScript统一封装了几大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等。。这样的话...

weixin_30582943的博客 154

PhoneGap开发初体验:用HTML5开发本地应用

第1页 PhoneGap开发初体验:用HTML5开发本地应用 怎样在智能手机(以及其他移动设备)上将HTML5应用程序作为本地程序运行?虽然现在Web技术发展得相当快,但是想要在浏览器上运行一个几兆大小的应用程序还是非常困难的,因为浏览器的缓存是有限的。用户必须通过打开一个链接访问HTML5应用程序,而不能像访问本地应用程序一样,仅仅通过点击一个图标就能得到想要的结果,尤其是当移动设备脱机以

u013681996的专栏 959

7个HTML5移动APP开发框架_优秀的Html5移动app开发框架

在 这个时间开始学习移动开发真是最好不过了,每个人应该都有一些移动应用的创意,而且你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识, 懂一些CSS和JavaScript就够了。如果你总听别人说HTML5的移动应用太慢,我只能告诉你应该有一些主见,首先HTML5会越来越好,移动端 的硬件也会越来越强,怎么说呢,你仔细看一看你手机上的应用吧,很多应用已经悄悄的使用混合式开发了,如果像你

new_dawang的博客 635
上一篇: linux下没有设置jmxremote port的时候,如何显示jconsole的图形界面
下一篇: 学会敬酒礼仪 不做酒席菜鸟
test_touch
博客等级 码龄16年 5粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值