小强的HTML5移动开发之路(21)—— PhoneGap
一、PhoneGap是什么
PhoneGap 是一个用基于 HTML,CSS 和 JavaScript 的,创建移动跨平台移动应用程序的快速开发框架。它使开发者能够利用 iPhone,Android,Palm,Symbian,WP7,Bada 和 Blackberry 智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外 PhoneGap 拥有丰富的插件,可以以此扩展无限的功能。PhoneGap 是免费的,但是它需要特定平台提供的附加软件,例如 iPhone 的iPhone SDK,Android 的Android
SDK 等,也可以和 DW5.5 配套开发。使用 PhoneGap 只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。PhoneGap 针对不同平台的 WebView 做了扩展和封装,使 WebView 这个组件变成可访问设备本地 API的强大浏览器,所以开发人员在 PhoneGap 框架下可通过 JavaScript 访问设备本地 API。WebView是什么(WebView组件实质是移动设备的内置浏览器 WebView这个内置浏览器特性是Web能被打包成本地客户端的基础,可方便的用 HTML5、CSS3 页面布局,这是移动 Web 技术的优势相对于原生开发)
二、PhoneGap的优势
(1)跨平台:PhoneGap 是唯一的一个支持 7 个平台的开源移动框架(PhoneGap 包括地理定位,加速器,联系人,声音和振动等,此外 PhoneGap 拥有丰富的插件,可以以此扩展无限的功能,几乎 Native App能完成的功能他都能完成)。它的优势是无以伦比的:开发成本低——据估算,至多 Native App 的五分之一!
(2)易用性,基于标准的 Web 开发技术 (html + css +js)
(3)提供硬件访问控制(api)
(4)可利用成熟 javascript 框架(JqueryMobile SenchaTouch)
(5)方便的安装和使用
三、PhoneGap的不足
(1) PhoneGap 应用程序的运行是寄托于移动设备上各平台的内置浏览器 webkit 的,受到 webkit 处理速度影响,以及各个平台的硬件与软件的性能制约,其程序运行的速度会比原生的程序稍微慢点,但是笔者认为,这些问题在 1-2 年内都会解决,因为现在的硬件的发展速度太快了。
(2)还有一些底层的功能需要插件来实现比如(推送功能)
(3)平台差异化不同,PhoneGap 应用程序在所有平台上运行界面看起来都一样。即使这个应用程序与原生应用很相像,但对于习惯了 iOS 与 Android 平台的用户来说,会觉得不习惯,他们还是会很快看出差异。通过综合比较 PhoneGap 的优点与不足,我们认为,如果你想快速实现一般的移动 WebApp 或者普通的2D 游戏,那么可以采用 PhoneGap 技术。如果你想要实现需要大量 CPU 计算的应用或者 3D 游戏,或者对用户体验及界面有极致的追求,考虑目前的硬件条件和开发成本,使用原生开发来实现比较适合。
四、PhoneGap 前景
2011 年 10 月 4 日 Adobe 宣布收购了创建了 HTML5 移动应用框架 PhoneGap 和 PhoneGap Build 的新创公司 Nitobi Software。这使得 phonegap 有了坚强的后盾,phonegap 的发展前景也是一片光明。与此同时,PhoneGap 的开源框架已经被累积下载 60 万次,借助 PhoneGap 平台,已有数千应用程序建立在 iOS,android以及其它操作系统之上。
五、Web App, Native APP,Hybird App 介绍
(1)Web App
这个主要是采用统一的标准的 HTML,JavaScript.CSS 等 web 技术开发. 用户无需下载,通过不同平台的浏览器访问来实现跨平台,同时可以通过浏览器支持充分使用 HTML5 特性,缺点是这些基于浏览器的应用无法调用系统 API 来实现一些高级功能,也不适合高性能要求的场合.
(2)Native APP
就是所谓的原生应用.指的是用平台特定的开发语言所开发的应用.使用它们的优点是可以完全利用系统的 API 和平台特性,在性能上也是最好的。缺点是由于开发技术不同,如果你要覆盖多个平台,则要针对每个平台独立开发,无跨平台特性.
(3)Hybird App
则是为了弥补如上两者开发模式的缺陷的产物.分别继承双方的优势.首先它让为数众多的 web 开发人员可以几乎零成本的转型成移动应用开发者;其次,相同的代码只需针对不同平台进行编译就能实现在多平台的分发,大大提高了多平台开发的效率;而相较于 web App,开发者可以通过包装好的接口,调用大部分常用的系统 API。PhoneGap 正是 Hybird APP 的代表开发框架
六、Html5 移动应用软件开发框架 JqueryMobile SenchaTouch 介绍
1.JqueryMobile 介绍
jQuery Mobile 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery 核心库,而且会发布一个完整统一的 jQuery 移动 UI 框架。支持全球主流的移动平台。此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。
2.SenchaTouch 介绍
前不久基于 JavaScript 编写的 Ajax 框架 ExtJS,将现有的 ExtJS 整合 JQTouch、Raphaël 库,推出适用于最前沿 Touch Web 的Sencha Touch 框架,该框架是世界上第一个基于 HTML5 的 Mobile App 框架。同时,ExtJS 更名为 Sencha,JQTouch 的创始人 David Kaneda,以及 Raphaël 的创始人也已加盟 Sencha团队
小强的HTML5移动开发之路(21)—— PhoneGap的更多相关文章
- 小强的HTML5移动开发之路(18)——HTML5地理定位
来自:http://blog.csdn.net/dawanganban/article/details/18192091 在前面的<小强的HTML5移动开发之路(2)--HTML5的新特性> ...
- 小强的HTML5移动开发之路(14)——Video标签详解
来自:http://blog.csdn.net/dawanganban/article/details/18180605 在前面的小强的HTML5移动开发之路(5)--制作一个漂亮的视频播放器中制作了 ...
- 小强的HTML5移动开发之路(13)——HTML5中的全局属性
来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey 快捷键 <!DOCTYPE HTML> ...
- 小强的HTML5移动开发之路(11)——链接,图片,表格,框架
来自:http://blog.csdn.net/dawanganban/article/details/18098193 一.HTML是什么? HTML(hypertext mark-uplangua ...
- 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较
一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head&g ...
- 小强的HTML5移动开发之路(37)——jqMobi快速入门
在<小强的HTML5移动开发之路(33)-- jqMobi基础>中我们了解了什么是jqMobi,并从官方下载了jqMobi开发包,下载后解压目录如下: 拷贝上面的/css目录./plugi ...
- 小强的HTML5移动开发之路(12)——从一个多媒体标签说起
来自:http://blog.csdn.net/dawanganban/article/details/18136813 一.视频播放 <html> <head> <ti ...
- 小强的HTML5移动开发之路(3)——HTML5与HTML4比较
来自:http://blog.csdn.net/dawanganban/article/details/17652873 在前面介绍了HTML5的新特性,新标签的使用,智能表单设计,引入多媒体对象,C ...
- 小强的HTML5移动开发之路(1)——HTML介绍
来自:http://blog.csdn.net/dawanganban/article/details/17591373 HTML是HyperText Markup Language(超文本标记语言) ...
随机推荐
- 《社交红利》读书总结--如何从微信微博QQ空间等社交网络带走海量用户、流量与收入
<社交红利--如何从微信微博QQ空间等社交网络带走海量用户.流量与收入>--徐志斌 著 <社交红利>这本书2013年9月才上市,卖的非常火. 我最初是在公司内部的期刊上,看到有 ...
- POJ 3723 Conscription MST
http://poj.org/problem?id=3723 题目大意: 需要征募女兵N人,男兵M人,没征募一个人需要花费10000美元,但是如果已经征募的人中有一些关系亲密的人,那么可以少花一些钱, ...
- (转)ORA-01940: cannot drop a user that is currently connected 问题解析
删除数据库用户的时候经常会遇到这样的错误: ORA: cannot drop a user that is currently connected 原因是有程序在连接我们需要删除的用户,我们删除用户之 ...
- 【Codeforces Round #433 (Div. 2) A】Fraction
[链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举分子从高到低就好. 这样得到的一定是最大的. (可以约分没错,但是约分过后和就不是n了,所以不会有错的) [错的次数] 0 [反思] 在这 ...
- IOS总结
1.Difference between shallow copy and deep copy? 浅复制和深复制的区别? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身. 深层复制:复制引 ...
- 3D游戏《龙心传奇Dragona》全套完整源码
<龙心传奇Dragona>全套完整源码,<Dragona Online>也叫<龙心传奇>是一款3D中古奇幻风格网络游戏,描写叙述一个充满剑.魔法.恶魔和龙的魔法大陆 ...
- ArcGIS中ObjectID,FID和OID字段区别
lysc_forever 原文 ArcGIS中ObjectID,FID和OID字段有什么区别 ArcGIS Desktop 独立的表和属性表都有一个ObjectID字段.这个字段中包含一个唯一的,长整 ...
- 为何在查询中索引未被使用 (Doc ID 1549181.1)
To Bottom * 为何在查询中索引未被使用 (Doc ID 1549181.1) To Bottom 文档内容 用途 排错步骤 高速检查 表上是否存在索引? 索引是否应该 ...
- swift学习第十六天:懒加载和tableView
懒加载 懒加载的介绍 swift中也有懒加载的方式 (苹果的设计思想:希望所有的对象在使用时才真正加载到内存中) 和OC不同的是swift有专门的关键字来实现懒加载 lazy关键字可以用于定义某一个属 ...
- jquery如何实现点击标题收缩下面的内容
jquery如何实现点击标题收缩下面的内容 一.总结 一句话总结:怎么做复杂前端任务,先把样式(最简单)做出来,然后在写js. 1.如何取jquery集合中的某个索引号的元素? 不是get(),是eq ...