C'è una differenza tra i comandi PhoneGap e Cordova?


286

Ho appena installato Phonegap per la prima volta e ho appena sfogliato i documenti. Ciò che mi confonde è il fatto che alcuni documenti utilizzano il comando "phonegap" e alcuni "cordova".

Guida alla piattaforma Android:

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

La guida dell'interfaccia della riga di comando dice:

$ phonegap create hello com.example.hello HelloWorld

C'è una differenza tra questi due comandi (con conseguente diversa struttura di file e cartelle) o sono solo alias per la stessa cosa?



Fare riferimento a questo modulo di articolo Devgeeks 2014: TL; DR: se non è necessario utilizzare il servizio di cloud build in PhoneGap Build, utilizzare solo gli strumenti della CLI Cordova, non quelli di PhoneGap.
Dheeraj Vepakomma,

Nessuna differenza nel cmd se si fa riferimento all'argomento citato. L'unico motivo per citare un arg sulla linea cmd è se contiene spazi o determinati caratteri che hanno un significato per la lingua terminale. Puoi anche sfuggire a detti personaggi (incluso lo spazio) con una barra rovesciata.
ekerner,

Risposte:


185

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

Penso che questo URL spieghi di cosa hai bisogno. Phonegap è basato su Apache Cordova nient'altro. Puoi pensare ad Apache Cordova come al motore che alimenta PhoneGap. Nel tempo, la distribuzione PhoneGap può contenere strumenti aggiuntivi ed è per questo che differiscono nel comando Ma fanno la stessa cosa.

EDIT: informazioni aggiuntive aggiunte come differenza di comando e cosa può fare phonegap mentre apache cordova non può o viceversa

Prima opzione della riga di comando di PhoneGap

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

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

  1. Poiché quasi la maggior parte dei comandi sono simili. Ci sono alcune differenze (Nota: nessuna differenza in Codebase)

  2. Adobe può aggiungere funzionalità aggiuntive a PhoneGap in modo che non si trovi in ​​Cordova, ad esempio: creazione di applicazioni da remoto per cui è necessario disporre di un account su https://build.phonegap.com

  3. Anche se per build locali phonegap cli usa cordova cli (Link per controllare: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Nomi dell'ambiente piattaforma. Mappatura:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Anche dal seguente repository: i moduli che richiedono cordova sono:

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

Che non includono cordova:

remote build
remote install
remote login,logout
remote run
serve

2
Buono a sapersi, ma questa è la domanda sulla differenza tra i comandi cli (se presenti).
Esodo,

@Hexodus Puoi pensare ad Apache Cordova come al motore che alimenta PhoneGap. Nel tempo, la distribuzione di PhoneGap può contenere strumenti aggiuntivi ed è per questo che differiscono nel comando Ma fanno la stessa cosa.
Abhishek,

2
Grazie Abhishek - questo ha risposto alla mia domanda. Ho pensato che potrebbe esserci qualcosa di più con i comandi phonegap vs cordova che sono ancora confusi ...
Hexodus

6
Allora, perché il documento è così confuso al riguardo? Posso leggere $ sudo npm install -g phonegap qui , dove scarico il gap telefonico, quindi nella documentazione associata qui , nella sezione CLI in cui si configura una nuova app, usano cordova in questo modo: $ cordova create hello com.example.hello HelloWorldnon riesco a trovare alcuna relazione tra il codice indicato in la pagina dl e quelle fornite nei documenti di phonegap che utilizza esclusivamente la riga di comando di cordova (almeno per la sezione CLI da cui dovresti iniziare)
Miles M.

1
I documenti sono davvero confusi in qualche misura, come evidenziato da Miles. M. Ti hanno chiesto di installare phonegap usando npm, ma nei seguenti documenti, quasi tutti i comandi usano cordova invece di phonegap.
wmfairuz,

78

Risposta in ritardo, ma penso che questo potrebbe essere utile.

Ci sono differenze tra i due cli, phonegapè un comando che incapsula cordova. Nel createcaso, l'unica differenza è un'app predefinita sostituita

In alcuni altri casi la differenza è molto più significativa. Ad esempio phonegap buildviene fornito con una funzionalità di build remota mentre cordova buildsupporta solo build locali.

Una grande limitazione che ho riscontrato in PhoneGap è che, AFAIK, puoi creare un APK di rilascio solo usando il servizio PhoneGap Build . Su Cordova puoi costruire con cordova build android --release.


1
Ma che dire di "phonegap local build"?
Andreas Kuckartz,

1
Anche con questo non penso che tu possa creare un apk di rilascio. phonegap local build androide phonegap build androidsono gli stessi comandi.
htulipe,

2
Sembra che sia possibile eseguire una build locale per un rilascio APK: chris-allen-lane.com/2012/12/…
Donturner

7
Adobe® PhoneGap ™ Build è un servizio Web che compila le app PhoneGap per te in remoto, rendendo disponibili pacchetti scaricabili in una semplice interfaccia Web su build.phonegap.com. Se si utilizza PhoneGap Build, non è necessario installare e gestire strumenti SDK locali per diverse piattaforme mobili e ci si può aspettare di aggiornare i progetti senza problemi. Detto questo, se desideri creare il tuo APK localmente senza utilizzare la build di Adobe, segui la guida della piattaforma di destinazione qui: docs.phonegap.com/en/edge/…
numediaweb

sì, ero preoccupato che avrei dovuto pagare usando il phonegapcomando. Sembra meglio usarecordova
Connor Leech il

23

Da quello che ho letto (e per favore correggimi se sbaglio):

Phonegap afferma di aver iniziato a provare a farlo ma non è stato possibile, quindi lo ha passato alla Apache Software Foundation.

Gli Apache nella loro bellezza (Long live Apache) lo risolvono, lo sviluppano e lo rendono straordinariamente fantastico.

Ora Phonegap sta cercando di conservare e migliorare una copia che ha recuperato, ma continua a riempirlo.

Quindi, a mio avviso, desidero una piattaforma di sviluppo solida e affidabile creata da professionisti esperti di cui mi possa fidare, piuttosto che una sub-versione modificata di detto. Pertanto, direi che sono uno sviluppatore Cordova, NON uno sviluppatore Phonegap.

Iv ha anche letto che in un secondo disperato tentativo di ottenere popolarità e controllo sulle grandi opere di Apache, Phonegap è stato ora venduto sotto la bandiera di Adobe. Sai Adobe, sono i ragazzi che non fanno nulla gratuitamente e sono così cattivi nel mantenere i cicli di vita del software che le loro app devono eseguire aggiornamenti ogni volta che sbatti le palpebre, e per qualche ragione ciascuna delle loro app è circa 100 volte più grande di te si aspetterebbe.

Immagino che sia il riassunto della mia ricerca se non l'ho letto male.

E se fosse vero, allora lasciamo cadere tutta questa assurdità di Phonegap e restiamo con Cordova.


2
Non essere difficile con Adobe: fanno un lavoro davvero straordinario nel mantenere il loro software. Pensa a Photoshop: è disponibile da 24 anni ed è ancora il migliore sul campo. Phonegap è più il servizio di creazione cloud che altro. Il codice sembra essere praticamente lo stesso di Cordova, altrimenti non potrebbero adottare la nuova versione di Cordova così rapidamente. Il servizio cloud rende il processo di compilazione davvero semplice. Per me come utente Creative Cloud è tutto inculsivo.
Esodo

2
:) OK. Tuttavia, Adobe è rinomata per le sue app gonfiate e troppo aggiornate, per le quali gli sviluppatori le hanno attaccate per la maggior parte di quei 24 anni, da cui il sito: dearadobe.com È estremamente facile compilare / costruire app Cordova usando i metodi progettati, così da l'unica cosa che il cloud aggiunge è il costo. Tuttavia so come alcuni sviluppatori sono riluttanti ad apprendere le interfacce della riga di comando e quindi posso capire la redditività e quindi l'esistenza del cloud. Suppongo che i giocatori giovani e / o verdi apprezzeranno la sua comodità.
ekerner,

1
Questi sviluppatori riluttanti della CLI possono respirare facilmente perché Cordova è ora compatibile con VS 2013 Update 3 :) visualstudio.com/explore/cordova-vs
rism

2
Wow rism che è estremamente interessante. La SM (l'obiettivo specifico della piattaforma madre) sembra finalmente unirsi a tutti noi. Complimenti a loro non solo per aver utilizzato Cordova e accreditare Apache, ma anche per supportare piattaforme non MS iOS e Android. Sono completamente sorpreso da questo. Potrei dover smettere di boicottarli se mantengono alto questo atteggiamento.
ekerner,

13

Ecco alcune differenze che ho scoperto:

Sto confrontando la CLI phonegap 3.3.0-0.18.0 con la funzionalità descritta nella documentazione Cordova 3.3.0 per quella CLI.

  1. "ls" è un'opzione per "plug-in cordova" ma non per "plug-in phonegap". Devi invece usare "list". ad esempio: "elenco di plugin phonegap"

  2. "serve" non è documentato in "phonegap -help" ma esiste e funziona. Non troverà e caricherà phonegap.js, quindi le pagine non si caricheranno mai completamente ma fornisce comunque un valore. Non sono sicuro che questo sia diverso dal comportamento Cordova.

  3. "phonegap platform add" non funziona in phonegap. È necessario eseguire una "build phonegap" per aggiungere il supporto per una piattaforma.

Nota che potresti anche riscontrare alcuni messaggi di errore confusi in phonegap in cui la soluzione suggerita si riferisce all'uso del comando cordova.


6

Ho anche notato che cordova ha un comando "serve" che Phonegap non ha. Questo comando avvia un server locale sulla porta 8000. È utile per eseguire l'app in Chrome e utilizzare l'emulatore Ripple.


2
Vale la pena notare che l'estensione di Chrome dell'emulatore Ripple è rotta e ora è uno strumento da riga di comando Node.js nell'incubatore di Apache. npm install -g ripple-emulator, quindi dall'interno del tuo progetto dir:ripple emulate --path platforms/android/assets/www
razorbeard

Puoi spiegarmi su "rotto", @Synaptix? Sembra funzionare per me.
zkent,


Grazie per quello Apparentemente c'è più di Ripple di quanto pensassi.
zkent,

Phonegap ha una GUI desktop che ti consente di "servire". Scaricando l'applicazione Phonegap per Android o iOS puoi anche testare direttamente l'applicazione sul dispositivo rapidamente, senza eseguire l'emulatore di avvio lungo. L'applicazione Mobile Phonegap si collega tramite Wi-Fi al server locale sulla porta 3000 e visualizza l'app sul dispositivo, offrendo visione e prestazioni.
Astrowie,

5

sono entrambi identici, tranne che phonegap cli può aiutarti a creare la tua applicazione su PhoneGap Build. Il mio suggerimento è di utilizzare l'interfaccia della riga di comando Cordova se non si utilizza il servizio di generazione PhoneGap.


4

Questa prima scelta potrebbe essere confusa ma è davvero molto semplice. PhoneGap è un prodotto di proprietà di Adobe che attualmente include servizi di build aggiuntivi e potrebbe eventualmente offrire servizi aggiuntivi e / o addebitare pagamenti per l'utilizzo in futuro. Cordova è di proprietà e gestito da Apache e sarà sempre gestito come un progetto open source. Attualmente entrambi hanno un'API molto simile. Consiglierei di andare con Cordova, a meno che non siano richiesti i servizi di build PhoneGap aggiuntivi.


1

Sopra, Abhishek menziona le differenze della riga di comando specificate in due 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

Una cosa da sottolineare è che, a partire da questo post, il phonegap sembra essere quasi uguale a quello cordova, e probabilmente non è un'immagine accurata delle differenze dell'opzione della riga di comando. Come tale, ho installato entrambi sul mio sistema in modo da poter vedere le differenze.

Questi sono solo alcuni di essi. Spero che vengano portati più sincronizzati qualche volta. Se qualcuno ha informazioni migliori, per favore dimmelo.

  1. L'aggiunta di piattaforme sembra essere fatta in modo diverso tra i due comandi (phonegap usa il comando "installa", cordova usa il comando "aggiungi piattaforma")
  2. L'aggiunta / creazione di progetti sembra essere la stessa tra i due comandi (stesse opzioni della riga di comando supportate)
  3. Ovviamente, come è stato affermato, phonegap può usare PhoneGap Build, quindi ha le opzioni corrispondenti per attivare quella o build locali
  4. Altre differenze significative nella riga di comando, semplicemente eseguendo "cordova help" e "phonegap help" e confrontando i due.

Immagino che il mio punto sia che la documentazione della CLI di phonegap menzionata abbastanza spesso non è realmente per la CLI di phonegap, ma per la CLI di cordova, in questo momento. Per favore dimmi se mi manca qualcosa. Grazie.


1

Ho trovato questa differenza che mi ha costretto a utilizzare un mix di comandi phonegap e cordova cli durante la creazione della mia app:

'phonegap plugin add' non è stato in grado di gestire correttamente i parametri della riga di comando, mentre 'cordova platform add' funziona perfettamente

Il comando che uso è:

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

Nota Sto usando phonegap 3.5


0

Oggi phonegap e cordova sono di proprietà di Adobe. Solo la conversazione per nome era diversa. Per la funzionalità di installazione dei plugin, dovremmo usare lo stesso comando anche per phonegap e cordova.

Comando: plug-in cordova aggiungi libreria-foto-plug-in cordova

Qui,

  • cordova - parola chiave per iniziatore
  • plugin: inizializza un plugin
  • libreria di foto per plugin cordova - nome del plugin.

Puoi anche trovare altri plugin da https://cordova.apache.org/docs/en/latest/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.