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. win7创建共享给windows和linux机器

    win7创建共享给windows和linux机器   1 防火墙 允许网络共享 由nod32负责防火墙设置 2 修改主机名 3 修改工作组和域 4 设置共享用户和权限 5 查看本机所有共享

  2. 1507: [NOI2003]Editor(块状链表)

    1507: [NOI2003]Editor Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 4157  Solved: 1677[Submit][Stat ...

  3. JavaScript简单继承

    很多C#或C++开发人员习惯使用继承来开发项目,所以当他们想学习JavaScript语言时,第一个问题一般是:“我怎么在JavaScript中使用继承?”. 实际上JavaScript使用了一种不同于 ...

  4. Oracle 表空间的日常维护与管理

    目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...

  5. 一步一步解剖Libevent源代码 - 0

    本系列文章将在<Libevent源码深度解剖>的基础上,结合Libevent-2.0.22代码,更新了其中的一些定义和说明,以及加上了bufferevent部分.   一.Libevent ...

  6. “万恶”的break

    写这篇随笔主要是希望自己长点记性,break的作用是跳出当次循环,每次用break都有点忘记break后面的条件提前. 正常是这样: exit_flag=Falsefor i in range(10) ...

  7. 微信小程序开发 -- 设置屏幕亮度

    wx.setScreenBrightness(OBJECT) 设置屏幕亮度. OBJECT参数说明: 参数 类型 必填 说明 value Number 是 屏幕亮度值,范围 0~1,0 最暗,1 最亮 ...

  8. springboot集成shiro——登陆记住我

    在shiro配置类中增加两个方法: com.resthour.config.shrio.ShiroConfiguration /** * cookie管理对象 * @return */ @Bean p ...

  9. 【Luogu】P3521ROT-Tree Rotations(线段树合并)

    题目链接 神奇的线段树合并qwq   不过就思路而言很好想…… 观察到一棵树无论怎么交换两棵左右子树,子树内部的最优逆序对并没影响……决策只影响左右子树之间的逆序对…… 于是线段树合并直接乱搞就好啦 ...

  10. http请求代理proxy-ajax

    今天把项目中的反向代理脚本程序抽成了一个插件,通过配置文件配置代理的http请求,这样使用起来比较方便,每位开发成员都可以用自己配置的代理调试代码.也可以用来直接做http代理,你甚至都不用Charl ...