我刚刚第一次安装Phonegap,浏览了一下文档。让我困惑的是,一些文档使用命令“phonegap”和一些“cordova”。

Android平台指南:

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

命令行接口指南告诉:

$ phonegap create hello com.example.hello HelloWorld

这两个命令之间是否存在差异(导致不同的文件和文件夹结构),或者它们只是同一事物的别名?


当前回答

This first choice might be a confusing one but it’s really very simple. PhoneGap is a product owned by Adobe which currently includes additional build services, and it may or may not eventually offer additional services and/or charge payments for use in the future. Cordova is owned and maintained by Apache, and will always be maintained as an open source project. Currently they both have a very similar API. I would recommend going with Cordova, unless you require the additional PhoneGap build services.

其他回答

从我所读到的(如果我错了,请纠正我):

Phonegap声称他们开始尝试做这个,但没有成功,所以他们把它交给了Apache软件基金会。

Apache用他们的厉害(Long live Apache)修复了它,开发了它,并使它变得非常棒。

现在Phonegap正试图维护和增强他们收回的副本,但仍在不断地填充它。

所以,在我看来,我想要的是一个可靠的、值得信赖的开发平台,由我可以信任的经验丰富的专业人士制作,而不是一个打补丁的子版本。所以我说我是Cordova的开发者而不是Phonegap的开发者。

Iv还读到,在第二次绝望的尝试中,Phonegap获得了人气,并控制了Apache的伟大作品,现在已经在Adobe的旗帜下出售。你知道Adobe,他们不做任何免费的事情,而且在维护软件生命周期方面非常糟糕,以至于他们的应用程序需要在你每次眨眼的时候执行更新,而且由于某种原因,他们的每个应用程序都是你预期的100倍大。

如果我没看错的话,我想这就是我的研究总结。

如果是真的,那就让我们放弃Phonegap的胡言乱语,继续留在科尔多瓦。

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

“phonegap plugin add”不能正确处理命令行参数,而“cordova platform add”工作完美无缺

我使用的命令是:

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

注意我使用的是phonegap 3.5

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

回答得晚了,但我认为这可能有用。

这两个cli之间有区别,phonegapi是一个封装cordova的命令。在创建的情况下,唯一的区别是一个覆盖默认应用程序

在其他一些情况下,差异要显著得多。例如,phonegap构建带有远程构建功能,而cordova构建只支持本地构建。

我发现PhoneGap的一个很大的限制是,AFAIK,你只能使用PhoneGap build服务构建一个发布版APK。在Cordova上你可以用Cordova build android——release。

以下是我发现的不同之处:

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

“ls”是“cordova plugin”的选项,但不是“phonegap plugin”的选项。你必须用“list”代替。 例如:“phonegap插件列表” "serve"在"phonegap -help"中没有记录,但它确实存在,而且它确实有效。它不会找到和加载phonegap.js,所以页面永远不会完全加载,但它仍然提供了一些价值。我不确定这和科多瓦的行为是否不同。 “phonegap平台添加”在phonegap中不工作。您必须执行“phonegap构建”以添加对平台的支持。

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