PhoneGap和Cordova命令之间有区别吗?


286

我是第一次安装Phonegap,只是浏览了文档。令我感到困惑的是,有些文档正在使用命令“ phonegap”和某些“ cordova”。

Android平台指南:

$ cordova create hello com.example.hello "HelloWorld"

命令行界面指南告诉:

$ phonegap create hello com.example.hello HelloWorld

这两个命令之间有区别(导致不同的文件和文件夹结构),还是它们只是同一事物的别名?



请参阅以下 2014年Devgeeks文章表格:TL; DR:如果不需要在PhoneGap Build上使用云构建服务,只需使用Cordova CLI工具,而不是PhoneGap工具​​即可。
Dheeraj Vepakomma 2015年

如果引用引用的参数,则cmd没什么区别。在cmd行上引用arg的唯一理由是,如果其中包含对终端语言有意义的空格或某些字符。您也可以使用反斜杠转义所说的字符(包括空格)。
ekerner '17

任何人都可以在这里帮助我stackoverflow.com/questions/52873787/…–
阿里·汗

Answers:


185

http://phonegap.com/blog/2012/03/19/phonegap-cordova-and-whate28099s-in-a-name/

我认为这个网址可以说明您的需求。Phonegap建立在Apache Cordova之上。您可以将Apache Cordova视为支持PhoneGap的引擎。随着时间的流逝,PhoneGap发行版可能包含其他工具,这就是为什么它们在命令上有所不同,但是它们却做同样的事情。

编辑:添加了额外的信息作为其关于命令差异以及在Apache Cordova无法执行或反之时phonegap可以执行的操作

PhoneGap的命令行选项中的第一个

http://docs.phonegap.com/en/edge/guide_cli_index.md.html

Apache Cordova选项 http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

  1. 由于几乎大多数命令都是相似的。差异很小(注意:代码库中没有差异)

  2. Adobe可以向PhoneGap添加其他功能,从而使它们不会出现在Cordova中,例如:远程构建需要为此在https://build.phonegap.com上拥有帐户的应用程序

  3. 虽然对于本地构建,phonegap cli使用cordova cli(链接以检查:https : //github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js

    平台环境名称。对应:

    '本地'=> cordova-cli

    '远程'=> PhoneGap / Build

同样来自以下存储库:需要cordova的模块是:

build
create
install
local install
local plugin add , list , remove
run
mode
platform update
run

哪些不包括科尔多瓦:

remote build
remote install
remote login,logout
remote run
serve

2
很高兴知道,但这是关于cli命令(如果有)之间差异的问题。
Hexodus

@Hexodus您可以将Apache Cordova视为为PhoneGap提供动力的引擎。随着时间的流逝,PhoneGap发行版可能包含其他工具,这就是为什么它们在命令上有所不同,但是它们却做同样的事情。
Abhishek

2
Thanx Abhishek-这回答了我的问题。我认为phonegap vs cordova命令可能还有更多令人困惑的地方
Hexodus

6
那么,为什么文档如此混乱呢?我可以$ sudo npm install -g phonegap 在此处下载电话间隙的内容,然后在此处的相关文档中的CLI部分(您在其中设置新应用程序的地方)使用cordova进行阅读,如下所示:$ cordova create hello com.example.hello HelloWorld我找不到在dl页面以及在phonegap的文档中专门使用cordova命令行提供的页面(至少对于您应该开始使用的CLI部分而言)
Miles

1
这些文档确实在某些方面令人困惑,例如Miles强调的那样。M.他们要求您使用npm安装phonegap,但是在以下文档中,几乎所有命令都使用cordova而不是phonegap。
wmfairuz 2014年

78

答案较晚,但我认为这可能有用。

这两个cli之间有区别,这phonegap是一个封装了的命令cordova。在这种create情况下,唯一的区别是覆盖的默认应用

在另一些情况下,差异要大得多。例如phonegap build,具有远程构建功能,cordova build仅支持本地构建。

我发现PhoneGap的一个很大限制是AFAIK,您只能使用PhoneGap Build服务来构建发行版APK 。在Cordova上,您可以使用进行构建cordova build android --release


1
但是“ phonegap本地版本”呢?
Andreas Kuckartz 2013年

1
即使这样,我也不认为您可以构建发行版APK。phonegap local build androidphonegap build android是相同的命令。
htulipe

2
它似乎可能的释放APK执行本地编译:chris-allen-lane.com/2012/12/...
donturner

7
Adobe®PhoneGap™Build是一项Web服务,可为您远程编译PhoneGap应用程序,并在build.phonegap.com上的简单Web界面中提供可下载的软件包。如果使用PhoneGap Build,则无需为多个移动平台安装和维护本地SDK工具,并且可以期望顺利地更新项目。这就是说,如果你想在当地建立自己的APK,而无需使用Adobe的身材,那么,按照你的目标平台莅临指导:docs.phonegap.com/en/edge/...
numediaweb

是的,我担心我必须使用该phonegap命令付款。听起来更好使用cordova
Connor Leech 2014年

23

根据我的阅读(如果我错了,请纠正我):

Phonegap声称他们开始尝试实现这一目标,但未能成功,因此将其传递给Apache Software Foundation。

Apache以他们的精湛表现(Apache万岁)修复,开发了它,并使其变得极为出色。

现在,Phonegap试图维护和增强他们收回的副本,但仍要塞满它。

因此,根据我的想法,我希望我可以信任经验丰富的专业人士打造的坚实而值得信赖的开发平台,而不是不依赖于他所说的sub-version。因此,我说我是Cordova开发人员,而不是Phonegap开发人员。

Iv还阅读到,在第二次拼命尝试以获取知名度并控制Apache的出色作品之后,Phonegap现在以Adobe的标志出售。您知道Adobe,他们是免费的,并且在维护软件生命周期方面做得很糟糕,以至于您每次眨眼时其应用程序都需要执行更新,并且由于某些原因,每个应用程序的大小约为您的100倍。会期望的。

如果我没有看错的话,我想这就是我的研究摘要。

如果为true,则让所有人放弃整个Phonegap的废话,并坚持使用Cordova。


2
不要对Adobe感到厌烦-他们在维护软件方面做得非常出色。想想Photoshop-它已经存在24年了,至今仍然是业界最好的。Phonegap比其他任何东西更多的是云构建服务。该代码似乎与Cordova几乎相同,否则他们将不会很快采用新的Cordova版本。云服务使构建过程非常容易。对于我作为Creative Cloud用户而言,这一切都是巧合。
Hexodus 2014年

2
:) 好。然而的Adobe素以臃肿和过于更新的应用,为此,开发人员一直在抱怨他们对于大多数的这24年中,因此网站:dearadobe.com它非常容易编译/构建科尔多瓦应用使用的设计方法,所以对我而言,云增加的唯一一件事就是成本。但是,我知道有些开发人员不愿学习命令行界面,因此我可以了解云的盈利能力和存在性。我想年轻和/或绿色球员会喜欢它的便利。
ekerner 2014年

1
那些不愿使用CLI的开发人员可以轻松呼吸,因为Cordova现在与VS 2013 Update 3兼容:) visualstudio.com/explore/cordova-vs
rism 2014年

2
哇,这非常有趣。MS(特定于母平台的焦点)似乎终于加入了我们其余的人。对于他们不仅使用Cordova并赞扬Apache,而且还支持非MS平台iOS和android表示敬意。我对此完全感到吃惊。如果他们保持这种态度,我可能不得不停止抵制他们。
ekerner 2014年

13

这是我发现的差异:

我正在将phonegap 3.3.0-0.18.0 CLI与该CLI的cordova 3.3.0文档中描述的功能进行比较。

  1. “ ls”是“ cordova插件”的选项,而不是“ phonegap插件”的选项。您必须改为使用“列表”。例如:“ phonegap插件列表”

  2. “ serve”未在“ phonegap -help”中记录,但它确实存在并且可以正常工作。它不会找到并加载phonegap.js,因此页面永远不会完全加载,但是它仍然提供了一些价值。我不确定这是否不同于行为科尔多瓦。

  3. “ phonegap平台添加”在phonegap中不起作用。您必须执行“ phonegap构建”以添加对平台的支持。

请注意,您可能还会在phonegap中遇到一些令人困惑的错误消息,其中建议的解决方案是使用cordova命令。


6

我还注意到cordova具有Phonegap没有的“服务”命令。此命令将在端口8000上启动本地服务器。这对于在Chrome中运行您的应用程序以及使用Ripple模拟器非常方便。


2
值得注意的是,Ripple仿真器chrome扩展已损坏,现在已成为Apache Incubator下的Node.js命令行工具。npm install -g ripple-emulator,然后从您的项目目录中:ripple emulate --path platforms/android/assets/www
razorbeard 2013年

你能解释一下“残破”吗,@ Synaptix?它似乎为我工作。
zkent 2013年


感谢那。瑞波币显然比我想象的要多。
zkent 2013年

Phonegap具有桌面GUI,可让您执行“服务”。通过下载适用于Android或iOS的Phonegap应用程序,您还可以直接在设备上快速测试应用程序,而无需运行长期启动的模拟器。Mobile Phonegap应用程序通过wifi连接到端口3000上的本地服务器,并在设备上显示您的应用程序,从而给您带来视觉和性能的感觉。
Astrowie

5

它们两者完全相同,只是phonegap cli可以帮助您在PhoneGap Build上构建应用程序。我的建议是,如果您不使用PhoneGap构建服务,请使用cordova CLI。


4

首选可能是一个令人困惑的选择,但实际上非常简单。PhoneGap是Adobe拥有的产品,当前包含其他构建服务,并且它最终可能会或可能不会最终提供其他服务和/或付费以供将来使用。Cordova由Apache拥有和维护,并将始终作为一个开源项目进行维护。目前,它们都有非常相似的API。我建议您使用Cordova,除非您需要其他PhoneGap构建服务。


1

上面,Abhishek提到了两个URLS中指定的命令行差异:

  1. PhoneGap:http : //docs.phonegap.com/en/edge/guide_cli_index.md.html

  2. 科尔多瓦:http : //cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

需要指出的是,截至本文,电话差距似乎与科尔多瓦几乎相同,并且可能不是命令行选项差异的准确体现。这样,我在系统上都安装了这两个软件,因此我可以查看它们之间的差异。

这些只是其中的一些。希望他们在某个时候能带来更多同步。如果有人有更好的信息,请告诉我。

  1. 这两个命令之间的添加平台似乎有所不同(phonegap使用“ install”命令,cordova使用“ platform add”命令)
  2. 在两个命令之间添加/创建项目似乎是相同的(支持相同的命令行选项)
  3. 显然,如前所述,phonegap可以使用PhoneGap Build,因此它具有触发该版本或本地版本的相应选项。
  4. 只需运行“ cordova帮助”和“ phonegap帮助”并比较两者,其他命令行上的其他显着差异就很大。

我想我的意思是,目前经常提到的phonegap CLI文档不是真正针对phonegap CLI,而是针对cordova CLI。请告诉我我是否缺少什么。谢谢。


1

我发现这种差异迫使我在构建我的应用程序时混合使用了phonegap和cordova cli命令:

“ phonegap插件添加”无法正确处理命令行参数,而“ cordova平台添加”则完美运行

我使用的命令是:

'cordova plugin add https://github.com/crittercism/PhoneGap.git --variable IOS_APP_ID="[my_license_key]"

注意我正在使用phonegap 3.5


0

如今,phonegap和cordova已归Adobe所有。只是名字对话是不同的。为了安装插件功能,我们也应该对phonegap和cordova使用相同的命令。

命令:cordova插件添加cordova-plugin-photo-library

这里,

  • cordova-发起者的关键字
  • 插件-初始化插件
  • cordova插件照片库-插件名称。

您还可以从https://cordova.apache.org/docs/en/latest/找到更多插件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.