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. BZOJ 4057: [Cerc2012]Kingdoms

    状压DP #include<cstdio> #include<cstring> using namespace std; int F[1200005],A[25][25],st ...

  2. 2019年北航OO第四次博客总结<完结撒花>

    一.UML单元架构设计 1. 类图解析器架构设计 1.1 UML类图 这次作业的目标是要解析一个UML类图,首先为了解耦,我新建了一个类UmTree进行解析工作,而Interaction类仅仅作为实现 ...

  3. 如何从Maven中央存储库下载?

    根据 Apache Maven说明: 下载时由项目的 pom.xml 文件的依赖来决定,目前不在本地存储库触发(当中央存储库包含了一个更新).默认情况下,Maven将从中央存储库下载. 在Maven中 ...

  4. tar.xz结尾的文件的解压缩方法

    例如: codeblocks-13.12-1_i386.debian.stable.tar 这个压缩包也是两层压缩,外面是xz压缩方式,里层是tar压缩方式. 解压缩方法: $xz -d ***.ta ...

  5. iOS开发~CocoaPods安装和使用

    随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码 在 Github 上管理.该项目开始于 2011 年 8 ...

  6. python学习--Django mvc框架简介

    让我们一览 Django 全貌 urls.py 网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数. views.py 处理用户发出的请求,从urls. ...

  7. AutoEncoder and DenoiseAutoEncoder

    AutoEncoder and DenoiseAutoEncoder 第一部分 首先我们将实现一个如上图结构的最简单的AutoEncoder. 加载数据 在这里,我们使用MNIST手写数据集来进行实验 ...

  8. 测试openssl_encrypt

    <?php //$string = 'It works ? Or not it works ?'; //$pass = '1234'; //$method = 'aes128'; // // / ...

  9. Welcome-to-Swift-09类和结构体(Classes and Structures)

    类和结构体是人们构建代码所用的一种通用且灵活的构造体.为了在类和结构体中实现各种功能,我们必须要严格按照对于常量,变量以及函数所规定的语法规则来定义属性和添加方法. 与其他编程语言所不同的是,Swif ...

  10. 【bzoj4568】[Scoi2016]幸运数字 树上倍增+高斯消元动态维护线性基

    题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征.一些旅行者希望游 ...