PhoneGap编辑

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的 快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的 插件,可以调用。
业界很多主流的移动开发框架均源于PhoneGap。较著名的有Worklight、appMobi、WeX5等;其中WeX5为国内打造,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Native app的性能,同时开发便捷性也较好。
中文名

PhoneGap
类    型

应    用

地理定位,加速器
系    统

iPhone,Android,Palm
 

1定义编辑

Phonegap是一款开源的开发框架,旨在让开发者使用 HTML、 Javascript、CSS等Web APIs开发跨平台的移动应用程序。原本由Nitobi公司开发,现在由Adobe拥有。
它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
 

2起源编辑

第一段PhoneGap代码是在2008年8月的iPhoneDevCamp上写成的。创建它的一个主要动力是基于一个几乎每一个单独的iPhone开发新手都要面对的简单事实: Objective-C是一个对Web开发人员来说非常陌生的环境,并且Web开发人员的数量远远多于Objective-C开发人员的数量。
问题是,是否有人可以开发一个框架,让Web开发人员可以利用他们所有的HTML、CSS和JavaScript知识,而且仍旧可以同iPhone的重要本地应用程序(如摄像头和通讯录)交互呢?
就在那一年,PhoneGap获了奖并开始支持Android平台,对人数不断增长的移动开发人员变得越来越有用,这些人员需要在更多的平台上获得代码支持。
 

3状态评估编辑

截止 2014年5月14日,phonegap的最新版本为3.4.1 [1] 。PhoneGap在多个主要的智能手机设备上提供了以下功能的支持:
  • 加速计
  • 摄像头
  • 罗盘
  • 通讯录
  • 文档
  • 地理定位
  • 媒体
  • 网络
  • 通知(警告、声音和振动)
  • 存储
如果正在为iPhone或Android设备做开发,那么这些功能都是支持的。如果是为BlackBerry、webOS、Windows Phone 7、Symbian或Bada设备做开发,则有些功能就不支持了(例如,在Windows Phone 7上,就不支持摄像头、罗盘或存储功能。老版的BlackBerry型号支持地理定位、通知以及网络的可达性,但仅此而已)。
未来发行版本的路线图包括对Contact API的升级,将其更新到最新的W3C规范。此外,计划支持以下功能(这只是尝试,而非完整的路线图):
  • 加密
  • Websockets
  • Web通知
  • HTML媒体捕获
  • Calendar API
  • 国际化支持
  • 命令行编译
  • 网损/恢复事件
 

4版本编辑

2011年7月29日,PhoneGap发布了1.0版产品。PhoneGap 1.0的推出,该公司表示,重点是访问本地设备的API。
其他的改进包括:
API的整体稳定和“可插拔”的架构W3C DAP API的兼容性联系人API远程调试工具一个新的统一的桥接口,使增加平台和平台扩展容易改进的 插件开发流程。
2011年10月1日,PhoneGap发布了1.1.0版产品。
新功能:
1.支持黑莓playbook的WebWorks并入。
2.orientationchange事件。
3.媒体审查(使用HTML5的音频和/或正常化的API)。
[2]
2012年3月6日,PhoneGap发布了1.5.0版产品。
2013年1月 PhoneGap发布了2.3.0产品
Adobe已经发布PhoneGap2.3.0完全支持Windows Phone 8。它还包括支持inappbrowser这使您可以在全屏模式观看视频文件。新版本提供了一个在文件传输失败能够删除不完整文件的新特性,还包括插件查询urlisallowed()方法抽象。 
  PhoneGap2.3.0包括辅助脚本转换cordova.plist向config.xml和包括了几个bug修复,详细的官方更新日志。该device的name属性已被否决所有平台和一个新的属性被命名为device.model已被释放来取代它。 
  该inappbrowser具有相同功能的childbrowser,包括事件的支持和不使用软件白名单。 
  PhoneGap2.3.0有固定的例外而搜索邮件联系人。它也修正了一个问题,而将照片从https地址联系和科尔多瓦的命令,在他们的空间路径。
 

5功能编辑

1、兼容性。完全做到了written once, run everywhere。
2、标准化。PhoneGap用 W3C标准,特别标准,Web App直接一字不改就能运行。尤其是和JQ Mobile结合在一起使用,实在是威力无穷啊!
3、用JavaScript+HTML5。你说这和iOS以及Android的代码加XML有区别吗?我看都差不多。
当然目前PhoneGap缺陷还是蛮多的,比如运行速度慢,UI反应延时——这是个致命伤。不过嘛,这种问题是会随着技术的进步而消失的。对此问题,国内已有WeX5开源框架专门对PhoneGap做了进一步深度优化,基于WeX5框架开发出来的App体验已经接近原生。它的优势是无与伦比的:开发成本低——笔者个人估计,至多是Native App的五分之一吧。伟大的政论家托马斯·约瑟夫·登宁,资本主义为了100%的利润,它就敢践踏一切人间法律。跨平台的流行是不可避免的。当然,Native App永远会有一席之地,比如高端游戏.
 

6公司近况编辑

电脑软件公司 Adobe 2011年10月4日宣布收购了创建了HTML5 移动应用框架PhoneGap 和PhoneGap Build的新创公司Nitobi Software。
收购后,Adobe将为开发人员提供两个强大的跨平台原生移动应 用程序开发工具:基于 HTML5 和 JavaScript 脚本的 PhoneGap,以及 Adobe Flash? 与Adobe AIR?。PhoneGap 的开源框架目前已被下载超过 60 万次,有几千款用PhoneGap 构建的应用程序已经进入Android、iOS、黑莓和其他操作系统的移动应用程序商店当中。
 

7支持平台编辑

PhoneGap目前支持的操作系统包含:
苹果的 iOS,谷歌的Android,RIM的 Blackberry,惠普的 WebOS,微软的 Windows Phone,塞班公司的Symbian以及三星的 bada
Feature
iPhone /iPhone 3G               
iPhone 3GS and newer
Android               
5.x
6.0+
不适用
不适用
不适用               
不适用
通讯簿
不适用
档案
不适用
不适用
不适用               
定位
多媒体
不适用
不适用               
不适用
不适用
不适用               
网络
通知(alert)
通知(sound)
通知(vibration)
存储
不适用
不适用               
 

8前景编辑

Adobe公开表示将会为HTML5开发推出更多有意义的工具。有业内人士表示,Adobe的HTML5战略特别值得注意,此外Adobe对于乔布斯的此番公开批评曾积极地回应道:“乔布斯说的不都是对的。”这是个好的信号,在flash和html5之间犹豫的开发者可以大胆的使用phonegap了,另外html5更注重移动平台,flash更适合pc端。在html5移动应用的架构选择上,PhoneGap无疑是最佳的开发模式。

14376402.11227

PhoneGap_百度百科的更多相关文章

  1. python爬虫—爬取百度百科数据

    爬虫框架:开发平台 centos6.7 根据慕课网爬虫教程编写代码 片区百度百科url,标题,内容 分为4个模块:html_downloader.py 下载器 html_outputer.py 爬取数 ...

  2. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

    前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...

  3. Python3爬取百度百科(配合PHP)

    用PHP写了一个网页,可以获取百度百科词条.源代码已分享至github:https://github.com/1049451037/xiaobaike/tree/master 那么通过Python来爬 ...

  4. redis百度百科和维基百科知识总结:

    1. 百度百科知识总结: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis ...

  5. Apache Mesos_百度百科

    Apache Mesos_百度百科 Apache Mesos

  6. JEFF BANKS_百度百科

    JEFF BANKS_百度百科 JEFF BANKS

  7. RCMTM _百度百科

    RCMTM _百度百科 RCMTM

  8. c31 rotc_百度百科

    c31 rotc_百度百科 c31 rotc

  9. bda_百度百科

    bda_百度百科 bda

随机推荐

  1. HDU 4729 An Easy Problem for Elfness 主席树

    题意: 给出一棵树,每条边有一个容量. 有若干次询问:\(S \, T \, K \, A \, B\),求路径\(S \to T\)的最大流量. 有两种方法可以增大流量: 花费\(A\)可以新修一条 ...

  2. MySQL主从复制(Master-Slave)

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...

  3. python3--类与继承和组合

    类和继承:“是一个”关系 我们已经深入探索了继承的机制,这里举个例子来说明它是如何用于模拟真实世界的关系的.从程序员的角度来看,继承是由属性点号运算启动的,由此触发实例.类以及任何超类中的变最名搜索. ...

  4. [python学习篇] [os模块] [2]删除文件夹

    def deleteDirectory(self,current_path): if not os.path.exists(current_path): self.logger.info(curren ...

  5. “玲珑杯”ACM比赛 Round #23

    A -- 生是脂肪的人 Time Limit:2s Memory Limit:128MByte Submissions:263Solved:97 DESCRIPTION 给定一个整数n,输出[(10^ ...

  6. spring scope 属性的取值

    Spring 容器是通过单例模式创建 Bean 对象的,也就是说,默认情况下,通过调用 ac.getBean("mybean")方法获得的对象都是同一个 mybean 对象 使用单 ...

  7. Tyk-Hybrid模式安装—抽象方法论,重用它

    最近,公司有计划运用API网关.那么,在经过权衡之后,使用了Tyk的Hybrid模式!现在环境没问题了,API调用也测通了.我得想想合并服务,监控API实时情况的东西.但在这个环境搭建的过程中,我目前 ...

  8. POJ 1690 (Your)((Term)((Project)))

    (Your)((Term)((Project))) Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2912   Accept ...

  9. 【bzoj3939】[Usaco2015 Feb]Cow Hopscotch 动态开点线段树优化dp

    题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John's cows have invented a varian ...

  10. win 7 取得最高权限

    以管理员身份运行cmd,然后输入: net user administrator /active:yes 然后注销,就会看到你原来的用户已经是最高权限的用户了.以后做的操作都是最高权限的操作.