Cordova历史发展
- ・2009年 通过iPhoneDevCamp之后,加拿大Nitobi开发了PhoneGap
- ・2011年 7月28日PhoneGap 1.0.0发布
- ・2011年 10月Adobe收购了Nitobi,并把PhoneGap的核心代码codebase捐给了Apache基金会,但保留了PhoneGap的商标所有权
- ・2011年 Apache最开始孵化这项目时用的名是Apache Callback(PhoneGap 1.1.0)
- ・2012年 PhoneGap更新到1.4版本后,用Nitobi旧址的街道名Cordova重新命名了这个项目,更广的用户和贡献者、管理透明、更好的文档;但是也产生了品牌歧义(Phonegap、Cordova)
http://en.wikipedia.org/wiki/PhoneGap
所以,可以把PhoneGap理解为Cordova的一个distribution,但它或多或少的和Cordova有所不同,当然很多不同也是因为要支持PhoneGap Build的。PhoneGap和Cordova的关系就如同Safari和WebKit的关系。
PhoneGap is a distribution of Apache Cordova.
前提版本:
引用
#cordova -v
3.4.1-0.1.0
#phonegap -v
3.4.0-0.19.21
(1)CLI
从以下的依赖关系可以看出PhoneGap实际上内部就是使用了Cordova。
引用
phonegap@4.2.0-0.24.2
├── pluralize@0.0.4
├── colors@0.6.0-1
├── semver@1.1.0
├── minimist@0.1.0
├── qrcode-terminal@0.9.4
├── shelljs@0.1.4
├── prompt@0.2.11 (revalidator@0.1.8, pkginfo@0.3.0, read@1.0.5, winston@0.6.
2, utile@0.2.1)
├── phonegap-build@0.9.1 (qrcode-terminal@0.8.0, optimist@0.3.7, shelljs@0.0.
9, phonegap-build-api@0.3.3)
├── connect-phonegap@0.14.8 (home-dir@0.1.2, connect-inject@0.3.2, ip@0.3.1,
ncp@0.6.0, findit@2.0.0, shelljs@0.2.6, request-progress@0.3.1, http-proxy@1.8.1
, useragent@2.0.8, gaze@0.4.3, tar@0.1.19, node-static@0.7.0, request@2.33.0, ar
chiver@0.10.1, localtunnel@1.3.0, connect@2.12.0, socket.io@1.0.4)
└── cordova@4.2.0 (underscore@1.7.0, q@1.0.1, nopt@3.0.1, cordova-lib@4.2.0)
查看命令的说明:
引用
#phonegap help
#cordova help
官方说明:
https://github.com/apache/cordova-cli
https://github.com/phonegap/phonegap-cli
最常用的命令都是相似的,Adobe给PhoneGap添加了一些Cordova没有的特性,比如remote build。
1)create命令
引用
E:\projects>cordova create c1
Creating a new cordova project with name "HelloCordova" and id "io.cordova.hellocordova" at location "E:\projects\c1"
引用
E:\projects>phonegap create p1
[phonegap] the options E:\projects\p1 com.phonegap.helloworld HelloWorld
[phonegap] created project at E:\projects\p1
phonegap cli命令中不能指定name和id,需要手动修改config.xml
参考:
https://github.com/phonegap/phonegap-cli/issues/263
2)build命令
phonegap build 统一了Cordova的以下命令:
- cordova platform add
- cordova prepare
- cordova compile
3)serve命令
- phonegap serve不需要添加平台直接使用,默认端口3000
- cordova serve需要添加平台后使用,默认端口8000
4)local/remote命令
“phonegap local *”
- build <platform> build a specific platform
- install <platform> install a specific platform
- run <platform> build and install a specific platform
- plugin <command> add, remove, and list plugins
“phonegap remote *”
- login login to PhoneGap/Build
- logout logout of PhoneGap/Build
- build <platform> build a specific platform
- install <platform> install a specific platform
- run <platform> build and install a specific platform
cordova emulate 等价于 phonegap local run。
cordova cli更像是Phonegap的local build。
https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js
'local' => cordova-cli
'remote' => PhoneGap/Build
phonegap的project命令都会判断是否该工程下有.cordova文件夹。
Cordova判断的是www platforms config.xml
(2)Project
1)www/spec
jasmine的测试代码
2)www/res
phonegap build支持icon和splash
3)config.xml
文件位置
phonegap: /www/config.xml
cordova: /config.xml
***cordova也支持读取www下的config.xml
文件内容:
<icon src="" />
<gap:splash src="" />
<gap:plugin name="org.apache.cordova.camera" />
4)index.html
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="phonegap.js"></script>
cordova.js 和 phonegap.js的内容完全是一样的,而且phonegap的native工程里也有cordova.js。
(3)Plugin
phonegap plugin add 是用于phonegap local build的,phonegap remote build的plugin需要在config.xml中添加,互不相干。
(4)其他
- Phonegap独有功能:Phonegap Build、Phonegap Enterprise、Phonegap Developer App等。
- Phonegap使用Cordova,但是各自管理版本,一般Cordova先发布,Phonegap会随后才支持新版。
- Phonegap Build里只能使用Phonegap的插件,而Cordova可以导入任意插件。
参考:
http://blog.tiger-workshop.com/difference-between-phonegap-and-cordova/
分享到:
相关推荐
win7(32位)环境下phonegap(cordova)环境的搭建过程,花了2天时间整理的,对初学者应该有所帮助。
PhoneGap和Cordova是两种流行的跨平台移动应用开发框架,它们允许开发者使用HTML、CSS和JavaScript来...通过实践和理解这个案例,你可以逐步掌握PhoneGap和Cordova的使用技巧,从而创建出更复杂、功能丰富的移动应用。
PhoneGap和Cordova是移动应用开发的两个密切相关的技术。PhoneGap是由Adobe开发的一款开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建跨平台的原生移动应用。Cordova是PhoneGap的核心,它是一个开放源代码...
百度移动广告联盟phonegap/cordova插件,百度ssp广告phonegap插件,支持cordova和phonegap打包的ios和android应用,简单好用,只需要几行js就能在phonegap和cordova应用里面接入百度广告
这个插件的目的是桥接JavaScript和Android原生代码,使PhoneGap/Cordova应用能够调用支付宝SDK,实现支付流程。 集成这个插件的过程大致如下: 1. **安装插件**:首先,开发者需要在项目的配置文件(config.xml)...
PhoneGap,现称为Cordova,是由Apache软件基金会开发的一个开源移动应用开发框架,它允许开发者使用HTML、CSS和JavaScript等Web技术来构建原生的移动应用程序。PhoneGap的核心理念是利用WebView,即在移动设备上运行...
PhoneGap是Adobe的一个产品,而Cordova是Apache软件基金会的一个开源项目,PhoneGap实际上基于Cordova,并提供了一些额外的服务和工具。 **PhoneGap的核心概念:** 1. **跨平台开发**:PhoneGap最大的优势在于其跨...
PhoneGap和Cordova的核心原理是通过WebView将Web应用包装成原生应用,同时提供了一个桥梁机制,使得JavaScript可以调用原生平台的功能,如访问硬件设备、存储、网络等。自定义插件则是扩展这个桥梁功能的方式,允许...
总的来说,“phonegap Cordova开发demo”旨在教开发者如何利用PhoneGap和Cordova的强大力量,结合H5技术,构建能够在多个平台上运行的原生移动应用。通过学习和实践这个示例,开发者可以快速掌握这一开发模式,提高...
通过以上内容,我们可以理解如何在iOS环境下,利用PhoneGap/Cordova和通讯录插件实现添加和打开通讯录的功能。这涉及到了Web开发、原生API交互、权限管理等多个方面,对于开发跨平台移动应用具有重要的实践意义。
- **PhoneGap与Cordova的区别**:PhoneGap最初是由Adobe开发的,后来贡献给了Apache,成为了Apache Cordova项目。现在,PhoneGap是基于Cordova的一个包装器,提供了更友好的开发环境和一些额外的服务。 - **WebView...
InstagramPlugin, 用于 phonegap/cordova的Instagram 插件 Cordova Instagram 插件由 。使用dataUrl和Android的Instagram 应用程序添加用于共享画布元素或者编码图像的内容的能力。 将插件安装到你的项目中如果使用...
在描述中提到的"phonegap官网不再提供cordova的ios安装版本"可能是因为随着新版本的发布和更新,较旧的版本可能不再被官方直接支持,以鼓励开发者使用最新的稳定版本,以获取更好的性能和安全更新。不过,对于某些...
PhoneGap是一个使用HTML、CSS和JavaScript来开发跨平台...随着移动应用开发的不断推进,这些配置和设置方法也会有所更新,因此开发者应及时关注PhoneGap/Cordova的官方文档或社区论坛,以获取最新的开发信息和资源。
已经装eclipse,android sdk及adt的安装和配置。 1.进入eclipse界面,新建android工程 new > android project 2.该工程目录下建立两个文档 /libs 和 /assets/www 3.把phonegap中android目录下的cordova-1.7.0.js...
鉴于目前网上流行的资料关于PhoneGap Cordova 的配置教程几乎都是1 3版本 另外又由于官网的文档漏洞百出 一直报:java lang RuntimeException:Unable to start activity ComponeInfo{...然后本人摸索了好久 终于找到了...
Cordova是PhoneGap的核心,它是一个原生的移动开发平台,使得Web技术能够访问设备的功能,如摄像头、文件系统和网络。本Android应用Demo展示了如何在基于PhoneGap 5.4.1的项目中实现拍照并上传功能,同时包含了Java...
在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java(对于Android)或Objective-C/Swift(对于iOS)编写的,并且通过Cordova/PhoneGap的Bridge机制与JavaScript进行通信。 首先,创建一个自定义Plugin...