Чи є різниця між командами 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, просто використовуйте інструменти CLI для Cordova, а не ті, що в PhoneGap.
Dheeraj Vepakomma

Немає різниці в cmd, якщо ви посилаєтесь на цитований аргумент. Єдина причина цитувати аргумент у рядку cmd - це якщо він містить пробіли або певні символи, які мають значення для термінальної мови. Ви також можете уникнути зазначених символів (включаючи пробіл) за допомогою нахилу вниз.
екернер

будь-хто допоможе мені тут 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 може містити додаткові інструменти, і тому вони відрізняються командою. Але вони роблять те саме.

EDIT: Додана додаткова інформація як про різницю команд і те, що може зробити фонегап, ​​коли 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. Оскільки майже більшість команд схожі. Існує декілька відмінностей (Примітка: різниці в базі кодів немає)

  2. Adobe може додати додаткові функції в PhoneGap, щоб їх не було в Кордові, напр .: Створення додатків віддалено, для цього вам потрібно мати обліковий запис на 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
Thanx Abhishek - це відповіло на моє запитання. Я думав, що може бути щось більше із командами phonegap vs cordova, які все ще плутають ...
Гексод

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

1
Документи дуже заплутані, як наголошується Майлзом. М. Вони попросили встановити phonegap за допомогою npm, але в наступних документах майже всі команди використовують cordova замість phonegap.
wmfairuz

78

Пізня відповідь, але я думаю, це може бути корисним.

Між двома кліпами є відмінності, phonegapце команда, яка інкапсулює cordova. У createвипадку єдиною різницею є переокремлений додаток за замовчуванням

В деяких інших випадках різниця набагато суттєвіша. Наприклад, phonegap buildоснащений функціоналом віддаленої збірки, тоді cordova buildяк підтримує лише локальні збірки.

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


1
А як щодо "фонегап місцевого будівництва"?
Andreas Kuckartz

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
Connor Leech

23

З того, що я прочитав (і будь ласка, виправте мене, якщо я помиляюся):

Phonegap стверджують, що вони намагалися зробити це, але не змогли, тому передали це Фонду програмного забезпечення Apache.

Апач у своїй приголомшливості (Хай живе Apache) виправляв це, розвивав його та робив його надзвичайно приголомшливим.

Тепер Phonegap намагаються зберегти та покращити копію, яку вони взяли назад, але продовжуйте її заповнювати.

Тож, міркуючи, я хочу міцну і надійну платформу розробників, яку створили досвідчені професіонали, якій я можу довіряти, а не зафіксувати її під-версією. Тому я скажу, що я розробник Кордови, а не розробник Phonegap.

Ів також читав, що у другій відчайдушній спробі завоювати популярність та контроль над великими творами Apache, Phonegap зараз продається під прапором Adobe. Ви знаєте Adobe, вони - хлопці, які нічого не роблять безкоштовно і настільки погано підтримують життєві цикли програмного забезпечення, що їхнім програмам потрібно проводити оновлення кожного разу, коли митьте, і чомусь кожен їх додаток приблизно в 100 разів перевищує вас очікував би

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

І якщо це правда, то давайте всім скинути всю цю Фонегапську дурницю і просто дотримуватися Кордови.


2
Не будьте важкими для Adobe - вони роблять дійсно дивовижну роботу в обслуговуванні свого програмного забезпечення. Подумайте про Photoshop - він там вже 24 роки і все ще найкращий у цій галузі. Phonegap - це більше хмарний сервіс, ніж будь-що інше. Код, схоже, майже такий же, як і Кордова - інакше вони не рекомендують так швидко приймати нову версію кордової. Хмарний сервіс робить процес збирання дійсно легким. Для мене як користувача Creative Cloud це все нав'язливо.
Гексод

2
:) ГАРАЗД. Однак Adobe славиться своїми роздутими та надмірно оновленими програмами, за які розробники стикаються з ними протягом більшої частини цих 24 років, отже, сайт: dearadobe.com Це надзвичайно просто збирати / створювати програми Cordova за допомогою розроблених методів, так що мені єдине, що додає хмара - це вартість. Однак я знаю, як деякі розробники неохоче вивчають інтерфейси командного рядка, і тому я можу зрозуміти прибутковість і, отже, існування хмари. Думаю, юним та / або зеленим гравцям сподобається його зручність.
екернер

1
Ці C неохоче розробники можуть легко дихати , то , як Кордова тепер VS 2013 Update 3 сумісних :) visualstudio.com/explore/cordova-vs
RISM

2
Вау рим, що надзвичайно цікаво. МС (фокус на материнській платформі) нарешті, здається, приєднується до решти нас. Кудо їм для того, що вони не тільки використовують Кордову і кредитують Apache, а також підтримують не MS-платформи iOS та android. Я цілком здивований цим. Можливо, мені доведеться припинити їх бойкотувати, якщо вони продовжуватимуть таке ставлення.
екернер

13

Ось відмінності, які я виявив:

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

  1. "ls" - це опція для "plugova plugin", але не для "phonegap плагіна". Ви повинні використовувати "список" замість цього. наприклад: "список плагінів phonegap"

  2. "serve" не задокументовано у "phonegap -help", але він існує, і він працює. Він не знайде і не завантажить phonegap.js, тому сторінки ніколи не завантажуються повністю, але все-таки надають деяку цінність. Я не впевнений, чи це відрізняється від поведінки кордова.

  3. "phonegap платформа додати" не працює в phonegap. Щоб додати підтримку платформи, потрібно виконати «побудову фонегапу».

Зауважте, що у фонегапі також можуть виникнути деякі заплутані повідомлення про помилки, де пропоноване рішення стосується використання команди cordova.


6

Я також зауважив, що Кордова має команду "служити", якої не має Phonegap. Ця команда запускає локальний сервер на порту 8000. Це зручно для запуску програми у Chrome та використання емулятора Ripple.


2
Варто зазначити, що розширення хромового емулятора Ripple порушено, і тепер це інструмент командного рядка Node.js під інкубатором Apache. npm install -g ripple-emulator, то з вашого ripple emulate --path platforms/android/assets/www
реєстру

Чи можете ви пояснити "зламаний", @Synaptix? Здається, це працює для мене.
zkent


Дякую за це. Ripple, мабуть, більше, ніж я думав.
zkent

Phonegap має графічний інтерфейс для настільних ПК, який дозволить вам зробити це "службою". Завантаживши додаток Phonegap для Android або iOS, ви також можете швидко протестувати додаток на пристрої, не запускаючи довгий пусковий емулятор. Додаток Mobile Phonegap підключається через Wi-Fi до вашого локального сервера на порту 3000 та відображає ваше додаток на вашому пристрої, надаючи вам перегляд та продуктивність.
Astrowie

5

вони обоє ідентичні, за винятком того, що кліп phonegap може допомогти вам створити свою програму на PhoneGap Build. Моя пропозиція полягає в тому, щоб скористатися CLI від cordova, якщо ви не використовуєте послугу збірки PhoneGap.


4

Цей перший вибір може бути заплутаним, але це дуже просто. PhoneGap - це продукт, що належить Adobe, який наразі включає додаткові сервіси збірки, і він може або не може в кінцевому підсумку пропонувати додаткові послуги та / або стягувати платежі за використання в майбутньому. Кордова належить та підтримується Apache і завжди підтримуватиметься як проект з відкритим кодом. В даний час вони мають дуже схожий API. Я рекомендую поїхати з Кордовою, якщо вам не знадобляться додаткові послуги зі зборки 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

Одне, що слід зазначити, - це те, що на цій посаді фонегап виглядає майже таким же, як і кордова, і, ймовірно, не є точним зображенням відмінностей параметрів командного рядка. Як такий, я встановив обидва в своїй системі, щоб я міг подивитися на відмінності.

Це лише декілька з них. Сподіваємось, вони колись синхронізовані. Якщо хтось має кращу інформацію, будь ласка, скажіть мені.

  1. Додавання платформ, схоже, робиться по-різному між двома командами (phonegap використовує команду "install", cordova використовує команду "platform add")
  2. Додавання / створення проектів здається однаковим між двома командами (підтримуються однакові параметри командного рядка)
  3. Очевидно, як було зазначено, phonegap може використовувати PhoneGap Build, тому він має відповідні параметри для запуску цього або локального побудови
  4. Існує декілька інших істотних відмінностей у командному рядку, просто запустивши "довідка по канату" та "довідка по фонегапу" та порівнявши їх.

Думаю, моя думка полягає в тому, що документування про фонегазний CLI, згадане досить часто, насправді стосується насправді не для CLNA-студії phonegap, а для CLI-каналу cordova. Скажіть, будь ласка, якщо я щось пропускаю. Дякую.


1

Я виявив цю різницю, яка змусила мене використовувати змішаний пакет команд phonegap та cordova cli під час створення свого додатка:

"додавання модуля phonegap додати" не вдалося правильно обробити параметри командного рядка, тоді як "додавання платформи cordova" працює бездоганно

Я використовую команду:

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

Примітка. Я використовую фонегап 3.5


0

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

Команда: додаток cordova додайте cordova-plugin-фото-бібліотеку

Ось

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.