Y a-t-il une différence entre les commandes PhoneGap et Cordova?


286

Je viens d'installer Phonegap pour la première fois et je viens de parcourir les documents. Ce qui m'embrouille, c'est le fait que certains docs utilisent la commande "phonegap" et certains "cordova".

Guide de la plateforme Android:

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

Le guide de l'interface de ligne de commande indique:

$ phonegap create hello com.example.hello HelloWorld

Existe-t-il une différence entre ces deux commandes (entraînant des structures de fichiers et de dossiers différentes) ou s'agit-il simplement d'alias pour la même chose?



Reportez-vous à ce formulaire d'article Devgeeks 2014: TL; DR: Si vous n'avez pas besoin d'utiliser le service de build cloud dans PhoneGap Build, utilisez simplement les outils CLI Cordova, pas ceux PhoneGap.
Dheeraj Vepakomma

Aucune différence dans le cmd si vous vous référez à l'argument cité. La seule raison de citer un argument sur la ligne cmd est s'il contient des espaces ou certains caractères qui ont une signification pour la langue du terminal. Vous pouvez également échapper auxdits personnages (espace compris) avec une barre oblique inverse.
ekerner

Réponses:


185

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

Je pense que cette URL explique ce dont vous avez besoin. Phonegap est construit sur Apache Cordova rien d'autre. Vous pouvez penser à Apache Cordova comme le moteur qui alimente PhoneGap. Au fil du temps, la distribution PhoneGap peut contenir des outils supplémentaires et c'est pourquoi ils diffèrent dans la commande Mais ils font la même chose.

EDIT: Des informations supplémentaires ont été ajoutées en ce qui concerne la différence de commande et ce que Phonegap peut faire alors qu'Apache Cordova ne peut pas ou vice versa

Première option de ligne de commande de PhoneGap

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

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

  1. Comme presque la plupart des commandes sont similaires. Il y a peu de différences (Remarque: Aucune différence dans Codebase)

  2. Adobe peut ajouter des fonctionnalités supplémentaires à PhoneGap afin qu'elles ne soient pas dans Cordova, par exemple: créer des applications à distance pour cela, vous devez avoir un compte sur https://build.phonegap.com

  3. Bien que pour les versions locales, phonegap cli utilise cordova cli (Lien pour vérifier: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Noms d'environnement de plate-forme. Cartographie:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Également à partir du référentiel suivant: Les modules qui nécessitent cordova sont:

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

Qui ne comprennent pas cordova:

remote build
remote install
remote login,logout
remote run
serve

2
Bon à savoir, mais c'est la question de la différence entre les commandes cli (le cas échéant).
Hexodus

@Hexodus Vous pouvez considérer Apache Cordova comme le moteur qui alimente PhoneGap. Au fil du temps, la distribution PhoneGap peut contenir des outils supplémentaires et c'est pourquoi ils diffèrent dans la commande Mais ils font la même chose.
Abhishek

2
Thanx Abhishek - cela a répondu à ma question. Je pensais qu'il pourrait y avoir quelque chose de plus avec les commandes phonegap vs cordova qui sont toujours déroutantes ...
Hexodus

6
Alors pourquoi le doc est-il si confus à ce sujet? Je peux lire $ sudo npm install -g phonegap ici , où je télécharge l'écart de téléphone, puis dans la documentation associée ici , dans la section CLI où vous configurez une nouvelle application, ils utilisent cordova comme ceci: $ cordova create hello com.example.hello HelloWorldje ne trouve aucune relation entre le code donné dans la page dl et celles données dans les docs de phonegap qui utilise exclusivement la ligne de commande cordova (au moins pour la section CLI où vous êtes censé commencer)
Miles M.

1
Les documents sont vraiment déroutants dans une certaine mesure, comme le souligne Miles. M. Ils vous ont demandé d'installer phonegap en utilisant npm, mais dans les documents suivants, presque toutes les commandes utilisent cordova au lieu de phonegap.
wmfairuz

78

Réponse tardive mais je pense que cela pourrait être utile.

Il existe des différences entre les deux cli, phonegapc'est une commande qui encapsule cordova. Dans le createcas où la seule différence est une application par défaut remplacée

Dans certains autres cas, la différence est beaucoup plus importante. Par exemple, phonegap buildest livré avec une fonctionnalité de génération à distance alors qu'il cordova buildne prend en charge que les générations locales.

Une grande limitation que j'ai trouvée à PhoneGap est que, AFAIK, vous ne pouvez créer un APK de version qu'en utilisant le service PhoneGap Build . Sur Cordova, vous pouvez construire avec cordova build android --release.


1
Mais qu'en est-il de la "construction locale de PhoneGap"?
Andreas Kuckartz

1
Même avec cela, je ne pense pas que vous puissiez créer une version apk. phonegap local build androidet phonegap build androidsont les mêmes commandes.
htulipe

2
Il semble qu'il soit possible d'effectuer une construction locale pour une version APK: chris-allen-lane.com/2012/12/…
donturner

7
Adobe® PhoneGap ™ Build est un service Web qui compile les applications PhoneGap pour vous à distance, rendant les packages téléchargeables disponibles dans une interface Web simple à build.phonegap.com. Si vous utilisez PhoneGap Build, vous n'avez pas besoin d'installer et de maintenir des outils SDK locaux pour plusieurs plates-formes mobiles et vous pouvez vous attendre à mettre à jour les projets en douceur. Cela dit, si vous souhaitez créer votre propre APK localement sans utiliser la version d'Adobe, suivez votre guide de plate-forme cible ici: docs.phonegap.com/en/edge/…
numediaweb

oui, je craignais de devoir payer en utilisant la phonegapcommande. Il semble préférable d'utilisercordova
Connor Leech

23

D'après ce que j'ai lu (et corrigez-moi si je me trompe):

Phonegap affirme qu'ils ont commencé à essayer de le faire mais ne l'ont pas fait, alors ils l'ont transmis à la Apache Software Foundation.

Apache dans leur génialité (Vive Apache) l'a corrigé, développé et rendu suprêmement impressionnant.

Phonegap essaie maintenant de maintenir et d'améliorer une copie qu'ils ont récupérée, mais continuez à la bourrer.

Donc, par ma pensée, je veux une plate-forme de développement solide et fiable faite par des professionnels chevronnés en qui je peux avoir confiance, plutôt qu'une sous-version corrigée de ladite. Par conséquent, je dis que je suis un développeur Cordova PAS un développeur Phonegap.

Iv a également lu que dans une deuxième tentative désespérée de gagner en popularité et en contrôle sur les grandes œuvres d'Apache, Phonegap a maintenant été vendu sous le drapeau Adobe. Vous savez Adobe, ce sont les gars qui ne font rien gratuitement et sont si mauvais à maintenir les cycles de vie des logiciels que leurs applications doivent effectuer des mises à jour à chaque fois que vous clignez des yeux, et pour une raison quelconque, chacune de leurs applications est environ 100 fois la taille que vous attendrait.

Je suppose que c'est le résumé de mes recherches si je ne l'ai pas mal lu.

Et si cela est vrai, laissez tout le monde abandonner toute cette bêtise Phonegap et restez avec Cordova.


2
Ne soyez pas trop dur avec Adobe - ils font un travail vraiment incroyable dans la maintenance de leurs logiciels. Pensez à Photoshop - il existe depuis 24 ans et reste le meilleur dans le domaine. Phonegap est plus le service de création de cloud que tout le reste. Le code semble être à peu près le même que Cordova - sinon ils n'adopteraient pas la nouvelle version cordova si rapidement. Le service cloud rend le processus de construction très simple. Pour moi, en tant qu'utilisateur Creative Cloud, tout cela est inculsif.
Hexodus

2
:) D'ACCORD. Cependant, Adobe est réputé pour ses applications gonflées et trop mises à jour, pour lesquelles les développeurs se sont attaqués à eux pendant la plupart de ces 24 années, d'où le site: dearadobe.com Il est extrêmement facile de compiler / construire des applications Cordova en utilisant les méthodes conçues. moi, la seule chose que le cloud ajoute est le coût. Cependant, je sais comment certains développeurs hésitent à apprendre les interfaces de ligne de commande et je peux donc comprendre la rentabilité et donc l'existence du cloud. Je suppose que les joueurs jeunes et / ou verts apprécieront sa commodité.
ekerner

1
Ces développeurs réticents CLI peuvent respirer facilement alors que Cordova est maintenant compatible avec VS 2013 Update 3 :) visualstudio.com/explore/cordova-vs
rism

2
Wow rism qui est extrêmement intéressant. MS (le focus spécifique de la plateforme mère) semble enfin rejoindre le reste d'entre nous. Félicitations à eux pour avoir non seulement utilisé Cordova et crédité Apache, mais également pour avoir pris en charge les plates-formes non MS iOS et Android. Je suis complètement décontenancé par cela. Je devrai peut-être arrêter de les boycotter s'ils maintiennent cette attitude.
ekerner

13

Voici les différences que j'ai découvertes:

Je compare le phonegap 3.3.0-0.18.0 CLI aux fonctionnalités décrites dans la documentation cordova 3.3.0 pour ce CLI.

  1. "ls" est une option pour "plugin cordova" mais pas pour "plugin phonegap". Vous devez utiliser "liste" à la place. par exemple: "liste des plugins phonegap"

  2. "serve" n'est pas documenté dans "phonegap -help" mais il existe et il fonctionne. Il ne trouvera pas et ne chargera pas phonegap.js donc les pages ne se chargent jamais complètement mais elles fournissent quand même une certaine valeur. Je ne suis pas sûr que ce soit différent du comportement cordova.

  3. «ajout de la plateforme phonegap» ne fonctionne pas dans phonegap. Vous devez faire une "build phonegap" pour ajouter le support d'une plateforme.

Notez que vous pouvez également rencontrer des messages d'erreur déroutants dans phonegap où la solution suggérée fait référence à l'utilisation de la commande cordova.


6

J'ai également remarqué que cordova a une commande "serve" que Phonegap n'a pas. Cette commande lance un serveur local sur le port 8000. Ceci est pratique pour exécuter votre application dans Chrome et utiliser l'émulateur Ripple.


2
Il convient de noter que l'extension Chrome de l'émulateur Ripple est cassée et est maintenant un outil de ligne de commande Node.js sous l'Apache Incubator. npm install -g ripple-emulator, puis depuis le ripple emulate --path platforms/android/assets/www
répertoire de

Pouvez-vous expliquer sur "cassé", @Synaptix? Cela semble fonctionner pour moi.
zkent


Merci pour ça. Il y a apparemment plus à Ripple que je ne le pensais.
zkent

Phonegap a une interface graphique de bureau qui vous permet de faire ce "service". En téléchargeant l'application Phonegap pour Android ou iOS, vous pouvez également tester directement l'application sur l'appareil rapidement, sans exécuter l'émulateur de démarrage long. L'application Mobile Phonegap se connecte via wifi à votre serveur local sur le port 3000 et affiche votre application sur votre appareil, vous donnant une vue et une sensation de performance.
Astrowie

5

ils sont tous deux identiques, sauf que phonegap cli peut vous aider à construire votre application sur PhoneGap Build. Ma suggestion est d'utiliser la CLI cordova si vous n'utilisez pas le service de construction PhoneGap.


4

Ce premier choix peut être déroutant, mais il est vraiment très simple. PhoneGap est un produit appartenant à Adobe qui comprend actuellement des services de construction supplémentaires, et il peut éventuellement offrir des services supplémentaires et / ou facturer des paiements pour une utilisation future. Cordova est détenu et géré par Apache, et sera toujours maintenu en tant que projet open source. Actuellement, ils ont tous deux une API très similaire. Je recommanderais d'aller avec Cordova, sauf si vous avez besoin des services de construction PhoneGap supplémentaires.


1

Ci-dessus, Abhishek mentionne les différences de ligne de commande spécifiées dans deux URL:

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

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

Une chose à souligner est que, à partir de ce message, celui de l’écart téléphonique semble être presque le même que celui de cordova, et n’est probablement pas une image précise des différences d’options en ligne de commande. En tant que tel, j'ai installé les deux sur mon système afin que je puisse regarder les différences.

Ce ne sont que quelques-uns d'entre eux. J'espère qu'ils seront plus synchronisés à un moment donné. Si quelqu'un a de meilleures informations, dites-le moi.

  1. L'ajout de plateformes semble se faire différemment entre les deux commandes (phonegap utilise la commande "install", cordova utilise la commande "platform add")
  2. L'ajout / création de projets semble être le même entre les deux commandes (mêmes options de ligne de commande prises en charge)
  3. Évidemment, comme cela a été dit, phonegap peut utiliser PhoneGap Build, il a donc les options correspondantes pour déclencher cela ou des builds locaux
  4. Pas mal d'autres différences importantes sur la ligne de commande, simplement en exécutant "cordova help" et "phonegap help" et en comparant les deux.

Je suppose que mon point de vue est que la documentation CLI de phonegap mentionnée assez souvent n'est pas vraiment pour la CLI phonegap, mais pour la CLI cordova, pour le moment. Veuillez me dire s'il me manque quelque chose. Merci.


1

J'ai trouvé cette différence qui m'a obligé à utiliser un sac mixte de commandes phonegap et cordova cli lors de la création de mon application:

'phonegap plugin add' ne pouvait pas gérer correctement les paramètres de ligne de commande, tandis que 'cordova platform add' fonctionne parfaitement

La commande que j'utilise est:

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

Remarque J'utilise phonegap 3.5


0

Maintenant, un espace téléphonique de jours et cordova appartient à Adobe. Seule la conversation par nom était différente. Pour installer la fonctionnalité du plugin, nous devrions également utiliser la même commande pour phonegap et cordova.

Commande: plugin cordova ajouter cordova-plugin-photothèque

Ici,

  • cordova - mot-clé pour initiateur
  • plugin - initialiser un plugin
  • photothèque du plugin cordova - nom du plugin.

Vous pouvez également trouver plus de plugins sur https://cordova.apache.org/docs/en/latest/

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.