Есть ли разница между командами PhoneGap и Cordova?


286

Я только что установил Phonegap в первый раз и просто просмотрел документы. Меня смущает тот факт, что некоторые документы используют команду «phonegap», а некоторые «cordova».

Руководство по платформе Android:

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

Руководство по интерфейсу командной строки рассказывает:

$ phonegap create hello com.example.hello HelloWorld

Есть ли разница между этими двумя командами (что приводит к различным файлам и структурам папок) или они просто являются псевдонимами для одной и той же вещи?



См. Эту форму статьи Devgeeks за 2014 год: TL; DR. Если вам не нужно использовать службу облачной сборки в PhoneGap Build, просто используйте инструменты Cordova CLI, а не PhoneGap.
Джерадж Вепакомма

Нет разницы в cmd, если вы ссылаетесь на цитируемый аргумент. Единственная причина заключать в кавычки аргумент в строке cmd, если он содержит пробелы или определенные символы, которые имеют значение для терминального языка. Вы также можете экранировать указанные символы (включая пробел) с помощью обратной косой черты.
ekerner

любой Помоги Мне Здесь stackoverflow.com/questions/52873787/…
Али Хан

Ответы:


185

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

Я думаю, что этот URL объясняет, что вам нужно. PhoneGap построен на Apache Cordova больше ничего. Вы можете думать об Apache Cordova как о движке, который обеспечивает PhoneGap. Со временем дистрибутив PhoneGap может содержать дополнительные инструменты, и поэтому они различаются по команде, но они делают то же самое.

РЕДАКТИРОВАТЬ: добавлена ​​дополнительная информация о разнице команд и о том, что может сделать телефонный разрыв, в то время как apache cordova не может или наоборот

Первая опция командной строки PhoneGap

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

Параметры Apache Cordova http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

  1. Поскольку почти все команды похожи. Есть несколько различий (Примечание: нет разницы в Codebase)

  2. Adobe может добавить дополнительные функции в PhoneGap, чтобы их не было в Cordova, например: удаленное создание приложений, для которых вам необходимо иметь учетную запись на https://build.phonegap.com

  3. Хотя для локальной сборки phonegap cli использует cordova cli (ссылка для проверки: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Имена среды платформы. Отображение:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Также из следующего репозитория: Модули, для которых требуется кордова:

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

Который не включает кордову:

remote build
remote install
remote login,logout
remote run
serve

2
Полезно знать, но это вопрос о разнице между командами cli (если есть).
Гексодус

@Hexodus Вы можете думать об Apache Cordova как о движке, который обеспечивает PhoneGap. Со временем дистрибутив PhoneGap может содержать дополнительные инструменты, и поэтому они различаются по команде, но они делают то же самое.
Абхишек,

2
Спасибо Abhishek - это ответ на мой вопрос. Я подумал, что может быть что-то еще с командами phonegap vs cordova, которые все еще сбивают с толку ...
Hexodus

6
Так почему же док так смущает это? Я могу прочитать $ sudo npm install -g phonegap здесь , где я загружаю телефонный пробел, а затем в соответствующей документации здесь , в разделе CLI, где вы настраиваете новое приложение, они используют cordova следующим образом: $ cordova create hello com.example.hello HelloWorldя не могу найти никакой связи между кодом, приведенным в страница dl и страницы, указанные в документах phonegap, в которых используется исключительно командная строка cordova (по крайней мере, для раздела CLI, где вы должны начать работу)
Miles M.

1
Документы в некоторой степени сбивают с толку, как это подчеркнул Майлз. М. Они попросили вас установить phonegap, используя npm, но в следующих документах почти все команды используют cordova вместо phonegap.
wmfairuz

78

Поздний ответ, но я думаю, что это может быть полезно.

Есть различия между двумя cli, phonegapэто команда, которая инкапсулирует cordova. В createслучае единственной разницы является переопределенное приложение по умолчанию

В некоторых других случаях разница гораздо значительнее. Например, phonegap buildпоставляется с функцией удаленной сборки, аcordova build поддерживается только локальная .

Большое ограничение, которое я обнаружил для PhoneGap, заключается в том, что, AFAIK, вы можете создавать только выпущенный APK с помощью службы PhoneGap Build . На Кордове вы можете строить с cordova build android --release.


1
Но как насчет "PhoneGap Local Build"?
Андреас Кукарц

1
Даже с этим я не думаю, что вы можете создать релиз apk. phonegap local build androidи phonegap build androidте же команды.
htulipe

2
Кажется , что это можно выполнить локальную сборку для APK выпуска: chris-allen-lane.com/2012/12/...
donturner

7
Adobe® PhoneGap ™ Build - это веб-сервис, который удаленно компилирует приложения PhoneGap, делая загружаемые пакеты доступными в простом веб-интерфейсе на build.phonegap.com. Если вы используете PhoneGap Build, вам не нужно устанавливать и поддерживать локальные инструменты SDK для нескольких мобильных платформ, и вы можете ожидать плавного обновления проектов. Тем не менее, если вы хотите создать свой собственный APK локально, не используя сборку Adobe, тогда следуйте руководству по вашей целевой платформе здесь: docs.phonegap.com/en/edge/…
numediaweb

да, я волновался, я должен был заплатить, используя phonegapкоманду. Это звучит лучше, чтобы использоватьcordova
Коннор Лич

23

Из того, что я прочитал (и, пожалуйста, поправьте меня, если я ошибаюсь):

PhoneGap утверждают, что они начали пытаться сделать это, но не смогли, поэтому они передали его в Apache Software Foundation.

Апач в их удивительности (Да здравствует Апач) исправил его, разработал и сделал его в высшей степени потрясающим.

Теперь PhoneGap пытается сохранить и улучшить копию, которую они взяли обратно, но продолжайте набивать ее.

Поэтому, по моему мнению, я хочу надежную и заслуживающую доверия платформу для разработчиков, созданную опытными профессионалами, которой я могу доверять, а не исправленную на подверсии сказанного. Поэтому я бы сказал, что я разработчик Cordova, а не разработчик Phonegap.

Ив также читал, что во второй отчаянной попытке завоевать популярность и контролировать великие произведения Apache Phonegap теперь продается под флагом Adobe. Вы знаете, Adobe, это те ребята, которые ничего не делают бесплатно и настолько плохо поддерживают жизненные циклы программного обеспечения, что их приложениям приходится обновлять их каждый раз, когда вы моргаете, и по какой-то причине каждое из их приложений примерно в 100 раз больше вашего размера. будет ожидать.

Я думаю, что это краткое изложение моего исследования, если я не прочитал его неправильно.

И если это правда, то пусть все отбросят всю эту ерунду Phonegap и просто придерживаются Cordova.


2
Не обращайте особого внимания на Adobe - они проделывают потрясающую работу по поддержке своего программного обеспечения. Подумайте о Photoshop - он существует уже 24 года и остается лучшим в этой области. PhoneGap - это скорее сервис облачной сборки, чем все остальное. Код кажется почти таким же, как у Cordova - иначе они не примут новую версию Cordova так быстро. Облачный сервис делает процесс сборки действительно простым. Для меня, как пользователя Creative Cloud, это все навязчиво.
Гексодус

2
:) ХОРОШО. Однако Adobe славится своими раздутыми и чрезмерно обновленными приложениями, о которых разработчики берутся за них в течение большей части этих 24 лет, поэтому на сайте: dearadobe.com Скомпилировать / собрать приложения Cordova чрезвычайно легко, используя разработанные методы, так что единственное, что добавляет облако, это стоимость. Однако я знаю, как некоторые разработчики не хотят изучать интерфейсы командной строки, и поэтому я могу понять прибыльность и, следовательно, существование облака. Я предполагаю, что молодые и / или зеленые игроки будут наслаждаться его удобством.
ekerner

1
Эти разработчики CLI могут дышать легко, тогда как Cordova теперь совместима с VS 2013 Update 3 :) visualstudio.com/explore/cordova-vs
rism

2
Ничего себе, это чрезвычайно интересно. MS (основной упор на материнскую платформу), похоже, наконец присоединяется к остальным. Слава им за то, что они не только используют Cordova и кредитуют Apache, но и поддерживают не MS платформы iOS и Android. Я полностью озадачен этим. Возможно, мне придется прекратить бойкотировать их, если они сохранят такое отношение.
ekerner,

13

Вот различия, которые я обнаружил:

Я сравниваю CLI phonegap 3.3.0-0.18.0 с функциональными возможностями, описанными в документации cordova 3.3.0 для этого CLI.

  1. «ls» - это опция для «плагинов cordova», но не для «плагинов phonegap». Вы должны использовать «список» вместо. например: "список плагинов телефонной связи"

  2. "serve" не задокументирован в "phonegap -help", но он существует и работает. Он не найдет и не загрузит phonegap.js, поэтому страницы никогда не загружаются полностью, но он все же предоставляет некоторую ценность. Я не уверен, отличается ли это от поведения кордова.

  3. «добавление платформы phonegap» не работает в phonegap. Чтобы добавить поддержку платформы, вы должны выполнить «PhoneGap build».

Обратите внимание, что вы можете также столкнуться с некоторыми ошибочными сообщениями об ошибках в телефоне, где предлагаемое решение относится к использованию команды cordova.


6

Я также заметил, что у cordova есть команда «подача», а у Phonegap нет. Эта команда запускает локальный сервер через порт 8000. Это удобно для запуска приложения в Chrome и использования эмулятора Ripple.


2
Стоит отметить, что расширение хрома эмулятора Ripple не работает и теперь является инструментом командной строки Node.js в Apache Incubator. npm install -g ripple-emulator, тогда из вашего проекта dir:ripple emulate --path platforms/android/assets/www
razorbeard

Можете ли вы рассказать о «сломанной», @Synaptix? Кажется, это работает для меня.
Зкент


Спасибо за это. Ripple, очевидно, больше, чем я думал.
zkent

Phonegap имеет настольный графический интерфейс, который позволяет вам делать это. Загрузив приложение Phonegap для Android или iOS, вы также можете быстро протестировать приложение на устройстве без запуска длинного запуска эмулятора. Приложение Mobile Phonegap подключается через Wi-Fi к локальному серверу через порт 3000 и отображает ваше приложение на вашем устройстве, давая вам представление и ощущение производительности.
Astrowie

5

они оба идентичны, за исключением того, что phonegap cli может помочь вам создать приложение на PhoneGap Build. Я предлагаю использовать CLI Cordova, если вы не используете сервис сборки PhoneGap.


4

Этот первый выбор может быть запутанным, но на самом деле он очень прост. PhoneGap - это продукт, принадлежащий Adobe, который в настоящее время включает в себя дополнительные услуги по сборке, и может в конечном итоге предлагать или не предлагать дополнительные услуги и / или взимать плату за использование в будущем. Cordova принадлежит и поддерживается Apache и всегда будет поддерживаться как проект с открытым исходным кодом. В настоящее время они оба имеют очень похожий API. Я бы порекомендовал пойти с Cordova, если вам не требуются дополнительные сервисы сборки PhoneGap.


1

Выше Абхишек упоминает различия в командной строке, указанные в двух URL:

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

  2. Кордова: http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

Одна вещь, на которую следует обратить внимание, заключается в том, что на данный момент телефонный разрыв выглядит почти таким же, как у cordova, и, вероятно, не является точным изображением различий в параметрах командной строки. Таким образом, я установил оба в моей системе, чтобы я мог посмотреть на различия.

Это только некоторые из них. Надеюсь, они когда-нибудь будут синхронизированы. Если у кого-то есть лучшая информация, пожалуйста, скажите мне.

  1. Кажется, что добавление платформ происходит по-разному между двумя командами (phonegap использует команду «install», cordova использует команду «platform add»)
  2. Добавление / создание проектов между двумя командами выглядит одинаково (поддерживаются одинаковые параметры командной строки)
  3. Очевидно, как было сказано, phonegap может использовать PhoneGap Build, поэтому у него есть соответствующие опции для запуска той или иной сборки.
  4. Несколько других существенных различий в командной строке, просто запустив «help cordova» и «help phonegap» и сравнив их.

Я предполагаю, что моя точка зрения состоит в том, что документация CLI о телефонной пробке, упомянутая довольно часто, на самом деле не для CLI телефонной пробки, а для CLI Cordova, в настоящее время. Пожалуйста, скажите мне, если я что-то упустил. Спасибо.


1

Я обнаружил эту разницу, которая вынудила меня использовать смешанный пакет команд 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


0

Теперь телефонный разрыв и кордова дня принадлежат Adobe. Только название разговора было другим. Для установки функциональности плагина мы должны использовать одну и ту же команду для phonegap и cordova.

Команда: кордова плагин добавить кордова-плагин-фото-библиотека

Вот,

  • cordova - ключевое слово для инициатора
  • плагин - инициализировать плагин
  • библиотека фото плагинов Cordova - название плагина.

Вы также можете найти больше плагинов с https://cordova.apache.org/docs/en/latest/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.