Existe uma diferença entre os comandos PhoneGap e Cordova?

286

Acabei de instalar o Phonegap pela primeira vez e apenas naveguei nos documentos. O que me confunde é o fato de alguns documentos estarem usando o comando "phonegap" e alguns "cordova".

Guia da plataforma Android:

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

O guia da interface da linha de comando informa:

$ phonegap create hello com.example.hello HelloWorld

Existe uma diferença entre esses dois comandos (resultando em diferentes arquivos e estruturas de pastas) ou eles são apenas aliases para a mesma coisa?

Hexodus
fonte
Consulte este artigo do Devgeeks, formulário 2014: TL; DR: Se você não precisar usar o serviço de criação em nuvem no PhoneGap Build, use as ferramentas da CLI Cordova, não as do PhoneGap.
Dheeraj Vepakomma
Não há diferença no cmd se você se referir ao argumento citado. O único motivo para citar um argumento na linha cmd é se ele contiver espaços ou certos caracteres que tenham significado para o idioma do terminal. Você também pode escapar dos caracteres mencionados (incluindo espaço) com uma barra invertida.
ekerner
Qualquer um me ajude aqui stackoverflow.com/questions/52873787/…
Ali Khan

Respostas:

185

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

Eu acho que esse URL explica o que você precisa. O Phonegap é construído sobre o Apache Cordova e nada mais. Você pode pensar no Apache Cordova como o mecanismo que alimenta o PhoneGap. Com o tempo, a distribuição PhoneGap pode conter ferramentas adicionais e é por isso que elas diferem no comando. Mas elas fazem a mesma coisa.

EDIT: Informações adicionais adicionadas como sobre a diferença de comando e o que o phonegap pode fazer enquanto o apache cordova não puder ou vice-versa

Primeira opção de linha de comando do PhoneGap

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

Opções do Apache Cordova http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

  1. Como quase a maioria dos comandos são semelhantes. Existem poucas diferenças (Observação: não há diferença no Codebase)

  2. A Adobe pode adicionar recursos adicionais ao PhoneGap para que não fiquem em Cordova, por exemplo: Criando aplicativos remotamente para os quais você precisa ter uma conta em https://build.phonegap.com

  3. Embora Para compilações locais, o phonegap cli use o cordova cli (Link para verificar: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Nomes de ambiente da plataforma. Mapeamento:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Também do seguinte repositório: Módulos que requerem cordova são:

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

Quais não incluem cordova:

remote build
remote install
remote login,logout
remote run
serve
Abhishek
fonte
2
É bom saber, mas esta é a pergunta sobre a diferença entre os comandos cli (se houver).
Hexodus
@ Hexexus Você pode pensar no Apache Cordova como o mecanismo que alimenta o PhoneGap. Com o tempo, a distribuição PhoneGap pode conter ferramentas adicionais e é por isso que elas diferem no comando. Mas elas fazem a mesma coisa.
21413 Abhishek
2
Thanx Abhishek - isso respondeu à minha pergunta. Eu pensei que poderia haver algo mais com PhoneGap vs comandos cordova que ainda estão confundindo ...
Hexodus
6
Então, por que o documento é tão confuso? Posso ler $ sudo npm install -g phonegap aqui , onde faço o download do gap telefônico e, na documentação associada aqui , na seção CLI onde você configura um novo aplicativo, eles estão usando o cordova da seguinte maneira: $ cordova create hello com.example.hello HelloWorldNão consigo encontrar nenhuma relação entre o código fornecido em a página dl e as que são fornecidas nos documentos do phonegap que usam exclusivamente a linha de comando cordova (pelo menos para a seção CLI em que você deve começar) #
Miles M.
1
Os documentos são realmente confusos até certo ponto, como destacado por Miles. M. Eles pediram para você instalar o phonegap usando o npm, mas nos documentos a seguir, quase todos os comandos usam cordova em vez do phonegap.
Wmfairuz
78

Resposta tardia, mas acho que isso pode ser útil.

Existem diferenças entre os dois cli, phonegapé um comando que encapsula cordova. No createcaso, a única diferença é um aplicativo padrão substituído

Em alguns outros casos, a diferença é muito mais significativa. Por exemplo, phonegap buildvem com uma funcionalidade de compilação remota, enquanto cordova buildsuporta apenas compilações locais.

Uma grande limitação que encontrei no PhoneGap é que, AFAIK, você só pode criar um APK de lançamento usando o serviço PhoneGap Build . No Cordova você pode construir com cordova build android --release.

htulipe
fonte
1
Mas e o "phonegap build local"?
Andreas Kuckartz
1
Mesmo com isso, acho que você não pode criar um apk de lançamento. phonegap local build androide phonegap build androidsão os mesmos comandos.
Htulipe #
2
Parece que é possível executar uma compilação local para uma liberação APK: chris-allen-lane.com/2012/12/…
donturner 10/11/13
7
O Adobe® PhoneGap ™ Build é um serviço da Web que compila aplicativos PhoneGap para você remotamente, disponibilizando pacotes para download em uma interface da Web simples em build.phonegap.com. Se você usa o PhoneGap Build, não precisa instalar e manter ferramentas locais do SDK para várias plataformas móveis e pode esperar atualizar os projetos sem problemas. Dito isso, se você deseja criar seu próprio APK localmente sem usar o build da Adobe, siga o guia da plataforma de destino aqui: docs.phonegap.com/en/edge/…
numediaweb
Sim, eu estava preocupado que eu teria que pagar usando o phonegapcomando Parece melhor usarcordova
Connor Leech
23

Pelo que li (e corrija-me se estiver errado):

O Phonegap afirma que eles começaram a tentar fazer isso, mas não conseguiram, e passaram para a Apache Software Foundation.

O Apache em sua grandiosidade (vida longa ao Apache) o consertou, desenvolveu e tornou extremamente incrível.

Agora, o Phonegap está tentando manter e aprimorar uma cópia que eles pegaram de volta, mas continue enchendo-a.

Então, pelo meu pensamento, eu quero uma plataforma de desenvolvimento sólida e confiável, feita por profissionais experientes em que eu possa confiar, em vez de uma versão secundária do referido. Portanto, eu diria que sou desenvolvedor Cordova, NÃO desenvolvedor Phonegap.

Iv também leu que, em uma segunda tentativa desesperada de ganhar popularidade e controle sobre as grandes obras do Apache, o Phonegap agora foi vendido sob a bandeira da Adobe. Você conhece a Adobe, eles são os caras que não fazem nada de graça e são tão ruins em manter os ciclos de vida do software que seus aplicativos precisam executar atualizações toda vez que você pisca, e por algum motivo, cada um deles tem cerca de 100 vezes o tamanho que você esperaria.

Acho que esse é o resumo da minha pesquisa se não a li de forma errada.

E, se for verdade, vamos deixar de lado toda essa bobagem do Phonegap e ficar com Cordova.

ekerner
fonte
2
Não seja tão duro com a Adobe - eles fazem um trabalho realmente incrível na manutenção de seu software. Pense no Photoshop - ele existe há 24 anos e ainda é o melhor em campo. Phonegap é mais o serviço de compilação em nuvem do que qualquer outra coisa. O código parece ser praticamente o mesmo que o Cordova - caso contrário, eles não adotariam a nova versão do cordova tão rapidamente. O serviço de nuvem facilita o processo de criação. Para mim, como usuário da Creative Cloud, é tudo inculsivo.
Hexodus
2
:) ESTÁ BEM. No entanto, a Adobe é conhecida por seus aplicativos inchados e excessivamente atualizados, pelos quais os desenvolvedores os acompanham há quase 24 anos, daí o site: dearadobe.com É extremamente fácil compilar / criar aplicativos Cordova usando os métodos projetados, para a única coisa que a nuvem adiciona é o custo. No entanto, sei como alguns desenvolvedores relutam em aprender interfaces de linha de comando e, assim, posso entender a lucratividade e, portanto, a existência da nuvem. Eu acho que jogadores jovens e / ou verdes vão gostar de sua conveniência.
ekerner
1
Esses devs relutantes CLI pode respirar fácil, então como Cordova está agora VS 2013 Update 3 compatíveis :) visualstudio.com/explore/cordova-vs
RISM
2
Uau rism que é extremamente interessante. MS (o foco específico da plataforma mãe) finalmente parece estar se juntando ao resto de nós. Parabéns a eles por não apenas empregar Cordova e creditar o Apache, mas também oferecer suporte a plataformas não-MS iOS e android. Estou completamente surpreso com isso. Talvez eu tenha que parar de boicotá-los se eles mantiverem essa atitude.
ekerner
13

Aqui estão as diferenças que eu descobri:

Estou comparando a CLI phonegap 3.3.0-0.18.0 com a funcionalidade descrita na documentação do cordova 3.3.0 para essa CLI.

  1. "ls" é uma opção para "cordova plugin", mas não para "phonegap plugin". Você deve usar "lista". por exemplo: "lista de plug-ins do phonegap"

  2. "servir" não está documentado em "phonegap -help", mas existe e funciona. Ele não localiza e carrega o phonegap.js para que as páginas nunca sejam totalmente carregadas, mas ainda fornecem algum valor. Não tenho certeza se isso é diferente do comportamento cordova.

  3. "phonegap platform add" não funciona no phonegap. Você deve fazer uma "compilação do phonegap" para adicionar suporte a uma plataforma.

Observe que você também pode receber algumas mensagens de erro confusas no phonegap, onde a solução sugerida se refere ao uso do comando cordova.

canadaCoder
fonte
6

Também notei que o cordova possui um comando "servir" que o Phonegap não possui. Este comando inicia um servidor local na porta 8000. Isso é útil para executar seu aplicativo no Chrome e usar o emulador Ripple.

zkent
fonte
2
Vale ressaltar que a extensão do emulador Ripple chrome está quebrada e agora é uma ferramenta de linha de comando do Node.js. sob o Apache Incubator. npm install -g ripple-emulator, em seguida, dentro do diretório do seu projeto:ripple emulate --path platforms/android/assets/www
razorbeard
Você pode explicar o "quebrado", @Synaptix? Parece estar funcionando para mim.
zkent
2
Ter uma leitura deste: raymondcamden.com/index.cfm/2013/11/5/Ripple-is-Reborn
Razorbeard
Obrigado por isso. Aparentemente, há mais no Ripple do que eu pensava.
zkent
O Phonegap possui uma GUI de desktop que permite que você "atenda". Ao baixar o aplicativo Phonegap para Android ou iOS, você também pode testar diretamente o aplicativo no dispositivo rapidamente, sem executar o emulador de inicialização longo. O aplicativo Mobile Phonegap se conecta via Wi-Fi ao servidor local na porta 3000 e exibe seu aplicativo no seu dispositivo, proporcionando uma visão e sensação de desempenho.
Astrowie
5

ambos são idênticos, exceto que o phonegap cli pode ajudá-lo a criar seu aplicativo no PhoneGap Build. Minha sugestão é usar a CLI cordova se você não usar o serviço de compilação PhoneGap.

aguentar
fonte
4

Essa primeira escolha pode ser confusa, mas é realmente muito simples. O PhoneGap é um produto de propriedade da Adobe que atualmente inclui serviços de criação adicionais e, eventualmente, pode ou não oferecer serviços adicionais e / ou cobrar pagamentos pelo uso futuro. O Cordova pertence e é mantido pelo Apache e sempre será mantido como um projeto de código aberto. Atualmente, ambos têm uma API muito semelhante. Eu recomendaria ir com o Cordova, a menos que você precise dos serviços adicionais de criação do PhoneGap.

Abdussamad ARGUNGU
fonte
1

Acima, Abhishek menciona as diferenças de linha de comando especificadas em dois URLS:

  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

Uma coisa a salientar é que, a partir deste post, o registro telefônico parece ser quase o mesmo que o cordova e provavelmente não é uma imagem precisa das diferenças das opções da linha de comando. Como tal, instalei os dois no meu sistema para que eu pudesse ver as diferenças.

Estes são apenas alguns deles. Espero que eles sejam sincronizados mais em algum momento. Se alguém tiver informações melhores, por favor me diga.

  1. A adição de plataformas parece ser feita de maneira diferente entre os dois comandos (phonegap usa o comando "install", cordova usa o comando "platform add")
  2. A adição / criação de projetos parece ser a mesma entre os dois comandos (as mesmas opções de linha de comando são suportadas)
  3. Obviamente, como foi afirmado, o phonegap pode usar o PhoneGap Build, por isso tem as opções correspondentes para acionar esse ou os builds locais
  4. Algumas outras diferenças significativas na linha de comando, simplesmente executando "cordova help" e "phonegap help" e comparando as duas.

Acho que meu argumento é que a documentação da CLI do phonegap mencionada com frequência não é realmente para a CLI do phonegap, mas para a CLI do cordova, no momento. Por favor, diga-me se estou faltando alguma coisa. Obrigado.

Tony B
fonte
1

Encontrei essa diferença que me forçou a usar um conjunto misto de comandos phonegap e cordova cli ao criar meu aplicativo:

O 'phonegap plugin add' não conseguiu lidar com os parâmetros da linha de comando corretamente, enquanto o 'cordova platform add' funciona perfeitamente

O comando que eu uso é:

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

Note que estou usando o phonegap 3.5

John Brady
fonte
0

Agora, os dias em que phonegap e cordova pertencem à Adobe. Apenas a conversa com o nome era diferente. Para a funcionalidade de plug-in de instalação, devemos usar o mesmo comando para phonegap e cordova também.

Comando: cordova plugin add cordova-plugin-photo-library

Aqui,

  • cordova - palavra-chave para iniciador
  • plugin - inicializa um plugin
  • biblioteca de fotos do plugin cordova - nome do plugin.

Você também pode encontrar mais plugins em https://cordova.apache.org/docs/en/latest/

Yogesh Kumar
fonte