¿Hay alguna diferencia entre los comandos PhoneGap y Cordova?

286

Acabo de instalar Phonegap por primera vez y solo hojeé los documentos. Lo que me confunde es el hecho de que algunos documentos están usando el comando "phonegap" y algunos "cordova".

Guía de plataforma de Android:

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

La guía de interfaz de línea de comandos dice:

$ phonegap create hello com.example.hello HelloWorld

¿Hay alguna diferencia entre esos dos comandos (que resultan en diferentes archivos y estructuras de carpetas) o son solo alias para la misma cosa?

Hexodus
fuente
Consulte este formulario de artículo de Devgeeks 2014: TL; DR: si no necesita usar el servicio de compilación en la nube en PhoneGap Build, solo use las herramientas de Cordova CLI, no las de PhoneGap.
Dheeraj Vepakomma
No hay diferencia en el cmd si se refiere al argumento citado. La única razón para citar un argumento en la línea cmd es si contiene espacios o ciertos caracteres que tienen significado para el lenguaje terminal. También puede escapar de dichos caracteres (incluido el espacio) con una barra invertida.
ekerner
any One Help Me Here stackoverflow.com/questions/52873787/…
Ali Khan

Respuestas:

185

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

Creo que esta url explica lo que necesitas. Phonegap se basa en Apache Cordova, nada más. Puede pensar en Apache Cordova como el motor que alimenta PhoneGap. Con el tiempo, la distribución PhoneGap puede contener herramientas adicionales y es por eso que difieren en el comando Pero hacen lo mismo.

EDITAR: se agregó información adicional sobre la diferencia de comandos y lo que puede hacer phonegap mientras que apache cordova no puede o viceversa

Primera opción de línea de comandos de PhoneGap

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

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

  1. Como casi la mayoría de los comandos son similares. Hay pocas diferencias (Nota: no hay diferencia en Codebase)

  2. Adobe puede agregar funciones adicionales a PhoneGap para que no esté en Cordova, por ejemplo: crear aplicaciones de forma remota para lo que necesita tener una cuenta en https://build.phonegap.com

  3. Aunque para compilaciones locales, phonegap cli usa cordova cli (Enlace para verificar: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Nombres de entorno de plataforma. Cartografía:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

También del siguiente repositorio: Los módulos que requieren cordova son:

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

Que no incluyen cordova:

remote build
remote install
remote login,logout
remote run
serve
Abhishek
fuente
2
Es bueno saberlo, pero esta es la pregunta sobre la diferencia entre los comandos cli (si los hay).
Hexodus
@Hexodus Puedes pensar en Apache Cordova como el motor que alimenta PhoneGap. Con el tiempo, la distribución PhoneGap puede contener herramientas adicionales y es por eso que difieren en el comando Pero hacen lo mismo.
Abhishek
2
Gracias Abhishek - esto respondió mi pregunta. Pensé que podría haber algo más con los comandos phonegap vs cordova que todavía son confusos ...
Hexodus
66
Entonces, ¿por qué el documento es tan confuso al respecto? Puedo leer $ sudo npm install -g phonegap aquí , donde descargo brecha telefónica, y luego en la documentación asociada aquí , en la sección CLI donde configura una nueva aplicación, están usando cordova de la siguiente manera: $ cordova create hello com.example.hello HelloWorldno puedo encontrar ninguna relación entre el código proporcionado en la página dl y las que figuran en los documentos de phonegap que utilizan exclusivamente la línea de comandos de cordova (al menos para la sección CLI donde se supone que debes comenzar)
Miles M.
1
Los documentos son realmente confusos en cierta medida, como lo destaca Miles. M. Le pidieron que instale phonegap usando npm, pero en los siguientes documentos, casi todos los comandos usan cordova en lugar de phonegap.
wmfairuz
78

Respuesta tardía pero creo que esto podría ser útil.

Hay diferencias entre los dos cli, phonegapes un comando que encapsula cordova. En el createcaso, la única diferencia es una aplicación predeterminada anulada

En algunos otros casos, la diferencia es mucho más significativa. Por ejemplo, phonegap buildviene con una funcionalidad de compilación remota, mientras que cordova buildsolo admite compilaciones locales.

Una gran limitación que encontré para PhoneGap es que, AFAIK, solo puedes crear un APK de lanzamiento utilizando el servicio PhoneGap Build . En Cordova puedes construir con cordova build android --release.

htulipe
fuente
1
Pero, ¿qué pasa con la "construcción local de phonegap"?
Andreas Kuckartz el
1
Incluso con eso, no creo que puedas construir un apk de lanzamiento. phonegap local build androidy phonegap build androidson los mismos comandos.
htulipe el
2
Parece que es posible realizar una compilación local para un APK de lanzamiento: chris-allen-lane.com/2012/12/…
donturner
77
Adobe® PhoneGap ™ Build es un servicio web que compila aplicaciones PhoneGap para usted de forma remota, haciendo que los paquetes descargables estén disponibles en una interfaz web simple en build.phonegap.com. Si usa PhoneGap Build, no necesita instalar y mantener herramientas locales de SDK para varias plataformas móviles, y puede esperar actualizar los proyectos sin problemas. Dicho esto, si desea crear su propio APK localmente sin utilizar la compilación de Adobe, siga su guía de plataforma de destino aquí: docs.phonegap.com/en/edge/…
numediaweb
Sí, me preocupaba tener que pagar con el phonegapcomando. Suena mejor usarcordova
Connor Leech
23

Por lo que he leído (y corrígeme si estoy equivocado)

Phonegap afirma que comenzaron a intentar hacer esto pero no pudieron, así que lo pasaron a la Apache Software Foundation.

Apache en su genialidad (Larga vida a Apache) lo arregló, lo desarrolló y lo hizo increíblemente increíble.

Ahora Phonegap está tratando de mantener y mejorar una copia que retiró, pero sigue llenándola.

Por lo tanto, según mi opinión, quiero una plataforma de desarrollo sólida y confiable hecha por profesionales experimentados en los que pueda confiar, en lugar de una sub versión parcheada de dicho. Por lo tanto, diría que soy un desarrollador de Cordova NO un desarrollador de Phonegap.

Iv también leyó que en un segundo intento desesperado por ganar popularidad y control sobre las grandes obras de Apache, Phonegap ahora se ha vendido bajo la bandera de Adobe. Ya sabes Adobe, son los tipos que no hacen nada gratis y son tan malos para mantener los ciclos de vida del software que sus aplicaciones necesitan realizar actualizaciones cada vez que parpadeas, y por alguna razón cada una de sus aplicaciones es aproximadamente 100 veces más grande que tú. Esperaría.

Supongo que ese es el resumen de mi investigación si no lo leí mal.

Y si es cierto, entonces dejemos de lado todas estas tonterías de Phonegap y quédese con Cordova.

ekerner
fuente
2
No seas tan difícil con Adobe: hacen un trabajo realmente increíble en el mantenimiento de su software. Piense en Photoshop: está disponible desde hace 24 años y sigue siendo el mejor en el campo. Phonegap es más el servicio de compilación en la nube que cualquier otra cosa. El código parece ser más o menos el mismo que Cordova; de lo contrario, no adoptarían una nueva versión de Cordova tan rápido. El servicio en la nube hace que el proceso de construcción sea realmente fácil. Para mí, como usuario de Creative Cloud, todo es inculsivo.
Hexodus
2
:) OKAY. Sin embargo, Adobe es conocido por sus aplicaciones hinchadas y demasiado actualizadas, para las cuales los desarrolladores se han aferrado a ellas durante la mayor parte de esos 24 años, de ahí el sitio: dearadobe.com Es extremadamente fácil compilar / construir aplicaciones Cordova utilizando los métodos diseñados, por lo que Para mí, lo único que agrega la nube es el costo. Sin embargo, sé cómo algunos desarrolladores son reacios a aprender interfaces de línea de comandos y, por lo tanto, puedo entender la rentabilidad y, por lo tanto, la existencia de la nube. Supongo que los jugadores jóvenes y / o verdes disfrutarán de su comodidad.
ekerner
1
Esos desarrolladores reacios a la CLI pueden respirar tranquilos, ya que Cordova ahora es compatible con VS 2013 Update 3 :) visualstudio.com/explore/cordova-vs
rism
2
Wow rism que es extremadamente interesante. MS (el enfoque específico de la plataforma madre) finalmente parece unirse al resto de nosotros. Felicitaciones a ellos por no solo emplear a Cordova y acreditar a Apache, sino también admitir plataformas iOS y Android que no sean MS. Estoy completamente sorprendido por esto. Puede que tenga que dejar de boicotearlos si mantienen esta actitud.
ekerner
13

Aquí hay diferencias que he descubierto:

Estoy comparando la CLI de phonegap 3.3.0-0.18.0 con la funcionalidad descrita en la documentación de cordova 3.3.0 para esa CLI.

  1. "ls" es una opción para "plugin cordova" pero no para "plugin phonegap". Debe usar "lista" en su lugar. por ejemplo: "lista de complementos de phonegap"

  2. "servir" no está documentado en "phonegap -help" pero existe y funciona. No encontrará y cargará phonegap.js, por lo que las páginas nunca se cargarán por completo, pero aún así proporcionan algún valor. No estoy seguro si esto es diferente al comportamiento cordova.

  3. "phonegap platform add" no funciona en phonegap. Debe hacer una "compilación de phonegap" para agregar soporte para una plataforma.

Tenga en cuenta que también puede experimentar algunos mensajes de error confusos en phonegap donde la solución sugerida se refiere al uso del comando cordova.

canadá
fuente
6

También he notado que Córdoba tiene un comando "servir" que Phonegap no tiene. Este comando inicia un servidor local en el puerto 8000. Esto es útil para ejecutar su aplicación en Chrome y usar el emulador Ripple.

zkent
fuente
2
Vale la pena señalar que la extensión de cromo del emulador Ripple está rota, y ahora es una herramienta de línea de comando Node.js bajo Apache Incubator. npm install -g ripple-emulator, luego desde el directorio de tu proyecto:ripple emulate --path platforms/android/assets/www
razorbeard
¿Puedes exponer sobre "roto", @Synaptix? Parece estar funcionando para mí.
zkent
Gracias por eso. Aparentemente, hay más en Ripple de lo que pensaba.
zkent
Phonegap tiene una GUI de escritorio que te permite hacer ese "servicio". Al descargar la aplicación Phonegap para Android o iOS, también puede probar directamente la aplicación en el dispositivo rápidamente, sin ejecutar el emulador de inicio prolongado. La aplicación Mobile Phonegap se conecta a través de wifi a su servidor local en el puerto 3000 y muestra su aplicación en su dispositivo, brindándole una visión y una sensación de rendimiento.
Astrowie
5

ambos son idénticos, excepto que phonegap cli puede ayudarlo a construir su aplicación en PhoneGap Build. Mi sugerencia es usar la CLI de cordova si no usa el servicio de compilación PhoneGap.

una cama
fuente
4

Esta primera opción puede ser confusa, pero en realidad es muy simple. PhoneGap es un producto propiedad de Adobe que actualmente incluye servicios de compilación adicionales, y puede o no ofrecer servicios adicionales y / o cobrar pagos por su uso en el futuro. Cordova es propiedad y está mantenido por Apache, y siempre se mantendrá como un proyecto de código abierto. Actualmente ambos tienen una API muy similar. Recomendaría ir con Cordova, a menos que requiera los servicios de compilación adicionales de PhoneGap.

Abdussamad ARGUNGU
fuente
1

Arriba, Abhishek menciona las diferencias de línea de comando especificadas en dos URL:

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

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

Una cosa a destacar es que, a partir de esta publicación, el teléfono parece ser casi el mismo que el de Córdoba, y probablemente no sea una imagen precisa de las diferencias de opciones de línea de comando. Como tal, instalé ambos en mi sistema para poder ver las diferencias.

Estos son sólo algunos de ellos. Esperemos que estén más sincronizados alguna vez. Si alguien tiene mejor información, por favor dígame.

  1. Agregar plataformas parece hacerse de manera diferente entre los dos comandos (phonegap usa el comando "install", cordova usa el comando "platform add")
  2. Agregar / crear proyectos parece ser el mismo entre los dos comandos (se admiten las mismas opciones de línea de comandos)
  3. Obviamente, como se ha dicho, phonegap puede usar PhoneGap Build, por lo que tiene las opciones correspondientes para activar eso o compilaciones locales
  4. Muchas otras diferencias significativas en la línea de comandos, simplemente ejecutando "cordova help" y "phonegap help" y comparando las dos.

Supongo que mi punto es que la documentación de CLI de phonegap mencionada con bastante frecuencia no es realmente para la CLI de phonegap, sino para la CLI de Córdoba, en este momento. Por favor, dime si me falta algo. Gracias.

Tony B
fuente
1

Encontré esta diferencia que me obligó a usar una combinación de comandos de phonegap y cordova cli al crear mi aplicación:

'phonegap plugin add' no pudo manejar los parámetros de la línea de comandos correctamente, mientras que 'cordova platform add' funciona perfectamente

El comando que uso es:

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

Tenga en cuenta que estoy usando phonegap 3.5

John Brady
fuente
0

Hoy en día, phonegap y cordova son propiedad de Adobe. Solo la conversación de nombres era diferente. Para instalar la funcionalidad del complemento, también debemos usar el mismo comando para phonegap y cordova.

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

Aquí,

  • cordova - palabra clave para iniciador
  • plugin - inicializa un plugin
  • cordova plugin photo library - nombre del complemento.

También puede encontrar más complementos en https://cordova.apache.org/docs/en/latest/

Yogesh Kumar
fuente