PhoneGap ve Cordova komutları arasında bir fark var mı?


286

Phonegap'ı ilk kez yükledim ve dokümanlar arasında dolaştım. Beni şaşırtan şey, bazı belgelerin "phonegap" ve bazı "cordova" komutlarını kullanıyor olması.

Android platform kılavuzu:

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

Komut Satırı Arabirimi kılavuzu şunları söyler:

$ phonegap create hello com.example.hello HelloWorld

Bu iki komut arasında bir fark var mı (farklı dosya ve klasör yapıları ile sonuçlanıyor) ya da sadece aynı şey için takma adlar mı?



Bakın bu Devgeeks makale TL; DR: forma 2014 sadece Cordova CLI araçları değil PhoneGap olanları kullanın PhoneGap Build'a de bulut inşa servisini kullanmak gerekmiyorsa.
Dheeraj Vepakomma

Alıntılanan bağımsız değişkene başvurursanız cmd'de fark yoktur. Cmd satırında bir arg belirtmenin tek nedeni, uçbirim dili için anlamı olan boşluklar veya belirli karakterler içermesidir. Ayrıca, ters eğik çizgi ile adı geçen karakterlerden (boşluk dahil) kaçabilirsiniz.
ekerner

herhangi biri burada bana yardım etmek stackoverflow.com/questions/52873787/…
Ali Khan

Yanıtlar:


185

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

Bence bu url neye ihtiyacınız olduğunu açıklıyor. Phonegap, Apache Cordova üzerinde başka bir şey yapmaz. Apache Cordova'yı PhoneGap'a güç veren motor olarak düşünebilirsiniz. Zamanla, PhoneGap dağıtımı ek araçlar içerebilir ve bu yüzden komutta farklılık gösterirler, ancak aynı şeyi yaparlar.

EDIT: komut farkı ve apache cordova yapamaz veya viceversa iken ne telefon aralığı yapabileceği hakkında ek bilgi eklendi

PhoneGap'in ilk komut satırı seçeneği

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

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

  1. Neredeyse komutların çoğu benzer. Çok az fark vardır (Not: Kod Tabanı'nda fark yok)

  2. Adobe, PhoneGap'e Cordova'da olmayacak ek özellikler ekleyebilir, Örn: https://build.phonegap.com adresinde hesabınızın olması için uzaktan uygulama oluşturma

  3. Rağmen yerel yapılar için phonegap cli cordova cli kullanır (Kontrol etmek için bağlantı: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Platform Ortam Adları. haritalama:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Ayrıca aşağıdaki depodan: Kordova gerektiren modüller şunlardır:

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

Hangi cordova içermez:

remote build
remote install
remote login,logout
remote run
serve

2
Bilmek güzel ama bu, cli komutları (varsa) arasındaki fark hakkında soru.
Hexodus

@Hexodus Apache Cordova'yı PhoneGap'a güç veren motor olarak düşünebilirsiniz. Zamanla, PhoneGap dağıtımı ek araçlar içerebilir ve bu yüzden komutta farklılık gösterirler, ancak aynı şeyi yaparlar.
Abhishek

2
Teşekkürler Abhishek - bu sorumu yanıtladı. Phonegap vs cordova komutları ile hala kafa karıştırıcı olan bir şey daha olabileceğini düşündüm ...
Hexodus

6
Peki doktor neden bu kadar kafa karıştırıcı? $ sudo npm install -g phonegap Burada , telefon boşluğunu indirdiğim yeri okuyabilirim ve sonra burada ilgili belgelerde , yeni bir uygulama kurduğunuz CLI bölümünde, bu şekilde cordova kullanıyorlar: $ cordova create hello com.example.hello HelloWorldVerilen kod arasında herhangi bir ilişki bulamıyorum dl sayfası ve yalnızca cordova komut satırı kullanan phonegap belgelerinde verilenler (en azından başlamanız gereken CLI bölümü için)
Miles M.

1
Dokümanlar, Miles tarafından vurgulananlar gibi bazı kısımları gerçekten kafa karıştırıcı. M. Sizden npm kullanarak telefon boşluğu yüklemenizi istediler, ancak aşağıdaki dokümanlarda neredeyse tüm komutlar telefon boşluğu yerine cordova kullanıyor.
wmfairuz

78

Geç cevap ama bence bu yararlı olabilir.

İki uç arasında farklılıklar vardır, phonegapkapsülleyen bir komuttur cordova. In createdurumda tek fark overriden varsayılan uygulama

Diğer bazı durumlarda fark çok daha önemlidir. Örneğin , yalnızca yerel derlemeleri desteklerken uzaktan derleme işleviylephonegap build birlikte gelir .cordova build

PhoneGap için bulduğum büyük bir sınırlama, AFAIK, yalnızca PhoneGap Build hizmetini kullanarak bir sürüm APK'sı oluşturabileceğinizdir . Cordova ile birlikte inşa edebilirsiniz cordova build android --release.


1
Peki "telefon boşluğu yerel yapısı" ne olacak?
Andreas Kuckartz

1
Bununla bile bir sürüm apk oluşturabileceğinizi düşünmüyorum. phonegap local build androidve phonegap build androidaynı komutlardır.
htulipe

2
O görünüyor olduğunu : bir serbest bırakma APK için yerel bir yapı yapmanız mümkün chris-allen-lane.com/2012/12/...
donturner

7
Adobe® PhoneGap ™ Build, PhoneGap uygulamalarını sizin için uzaktan derleyen, indirilebilir paketleri build.phonegap.com adresindeki basit bir web arayüzünde kullanılabilir hale getiren bir web hizmetidir. PhoneGap Build kullanıyorsanız, birkaç mobil platform için yerel SDK araçlarını yüklemeniz ve bakımını yapmanız gerekmez ve projeleri sorunsuz bir şekilde güncellemeyi bekleyebilirsiniz. Bununla birlikte, Adobe'nin yapısını kullanmadan kendi APK'nızı yerel olarak oluşturmak istiyorsanız, o zaman burada hedef platform rehberinizi takip edin: docs.phonegap.com/en/edge/…
numediaweb

evet phonegapkomutunu kullanarak ödemek zorunda olduğumdan endişelendim . Kullanmak daha iyi geliyorcordova
Connor Leech

23

Okuduğumdan (ve yanlışsam lütfen düzeltin):

Phonegap bunu yapmaya çalıştıklarını ancak başaramadıklarını iddia etti, bu yüzden Apache Yazılım Vakfı'na geçti.

Apache onların şaşkınlık (Uzun canlı Apache) düzeltti, geliştirdi ve fevkalade müthiş yaptı.

Şimdi Phonegap, geri aldıkları bir kopyayı korumaya ve geliştirmeye çalışıyor, ancak doldurmaya devam ediyor.

Bu yüzden, benim düşünceme göre, deneyimli profesyonellerin güvenebileceğim sağlam ve güvenilir bir geliştirme platformu istediğini söyledim, yamanın alt sürümü üzerine yamalı. Bu nedenle bir Corg geliştirici değilim bir Phonegap geliştirici olduğumu söylüyorlar.

Iv ayrıca, Apache'nin harika eserleri üzerinde popülerlik kazanmak ve kontrol etmek için ikinci bir çaresiz girişimde, Phonegap'ın artık Adobe bayrağı altında satıldığını okudu. Adobe'yi biliyorsunuz, onlar ücretsiz olarak hiçbir şey yapmayan ve yazılımların yaşam döngülerini sürdürmede o kadar kötü adamlar ki, uygulamalarının her yanıp sardığınızda güncellemeler yapması gerekiyor ve bazı uygulamaların her biri yaklaşık 100 kat daha büyük beklenir.

Yanlış okumamışsam araştırmamın özeti sanırım.

Ve eğer doğruysa, o zaman herkes bu tüm Phonegap saçmalıklarını bırakıp Cordova'ya bağlı kalsın.


2
Adobe için zor olma - yazılımlarını korumak için gerçekten harika bir iş çıkarıyorlar. Photoshop'u düşünün - 24 yıldan beri orada ve hala alanında en iyisi. Phonegap daha başka bir şey daha bulut oluşturma hizmetidir. Kod Cordova ile hemen hemen aynı görünüyor - aksi takdirde yeni cordova versiyonunu bu kadar çabuk benimsemediler. Bulut hizmeti, oluşturma işlemini gerçekten kolaylaştırır. Creative Cloud kullanıcısı olarak benim için her şey zorlayıcı.
Hexodus

2
:) TAMAM. Bununla birlikte, Adobe, geliştiricilerin bu 24 yılın çoğunda onları tuttuğu şişirilmiş ve aşırı güncellenmiş uygulamaları ile ünlüdür, bu nedenle site: dearadobe.com Tasarlanmış yöntemleri kullanarak Cordova uygulamalarını derlemek / oluşturmak son derece kolaydır. Bana bulutun eklediği tek şey maliyet. Ancak, bazı geliştiricilerin komut satırı arabirimlerini öğrenmek konusunda nasıl isteksiz olduklarını biliyorum ve böylece bulutun karlılığını ve dolayısıyla varlığını anlayabiliyorum. Sanırım genç ve / veya yeşil oyuncular rahatlığından keyif alacaklar.
ekerner

1
Cordova artık VS 2013 Güncelleme 3 uyumlu olduğu için bu CLI isteksiz geliştiricileri daha kolay nefes alabilir :) visualstudio.com/explore/cordova-vs
rism

2
Wow rism son derece ilginç. MS (ana platforma özel odaklanma) nihayet geri kalanımıza katılıyor gibi görünüyor. Onlara sadece Cordova'yı kullanmakla ve Apache'ye kredi vermekle kalmayıp, MS olmayan platformları iOS ve android'i de destekledikleri için şereflendirin. Bu beni tamamen şaşırttı. Bu tutumu sürdürürlerse onları boykot etmeyi bırakmam gerekebilir.
ekerner

13

İşte keşfettiğim farklılıklar:

Telefon aralığı 3.3.0-0.18.0 CLI'yi, bu CLI için cordova 3.3.0 belgelerinde açıklanan işlevlerle karşılaştırıyorum.

  1. "ls", "cordova eklentisi" için bir seçenektir ancak "phonegap eklentisi" için bir seçenek değildir. Bunun yerine "list" kullanmalısınız. örneğin: "telefon boşluğu eklenti listesi"

  2. "serve", "phonegap -help" içinde belgelenmemiştir ancak vardır ve çalışır. Phonegap.js dosyasını bulmaz ve yüklemez, böylece sayfalar hiçbir zaman tam olarak yüklenmez, ancak yine de bir miktar değer sağlar. Bunun cordova'dan farklı olup olmadığından emin değilim.

  3. "phonegap platform ekleme", phonegap içinde çalışmaz. Bir platforma destek eklemek için bir "telefon boşluğu derlemesi" yapmalısınız.

Önerilen çözümün cordova komutunun kullanılmasıyla ilgili olduğu telefon boşluğunda bazı kafa karıştırıcı hata iletileriyle karşılaşabileceğinizi unutmayın.


6

Ayrıca, cordova'nın Phonegap'ta olmayan bir "sun" komutu olduğunu fark ettim. Bu komut, bağlantı noktası 8000'de yerel bir sunucu başlatır. Bu, uygulamanızı Chrome'da çalıştırmak ve Dalgalanma öykünücüsünü kullanmak için kullanışlıdır.


2
Ripple emulator krom uzantısının bozuk olduğunu ve şimdi Apache Incubator altında bir Node.js komut satırı aracı olduğunu belirtmek gerekir. npm install -g ripple-emulator, sonra proje ripple emulate --path platforms/android/assets/www
direktifinizden

"Kırık", @Synaptix üzerine açıklayabilir misiniz? Benim için çalışıyor gibi görünüyor.
zkent


Bunun için teşekkürler. Ripple için düşündüğümden daha fazlası var.
zkent

Phonegap, bu "sunumu" yapmanıza izin veren masaüstü GUI'sine sahiptir. Android veya iOS için Phonegap uygulamasını indirerek, uzun başlangıç ​​emülatörünü çalıştırmadan uygulamayı doğrudan cihazda test edebilirsiniz. Mobil Phonegap uygulaması, wifi üzerinden 3000 numaralı bağlantı noktasındaki yerel sunucunuza bağlanır ve uygulamanızı cihazınızda görüntüler, size görünüm ve performans hissi verir.
Astrowie

5

ikisi de aynıdır, ancak phonegap cli uygulamanızı PhoneGap Build üzerinde oluşturmanıza yardımcı olabilir. Benim önerim, PhoneGap oluşturma hizmetini kullanmıyorsanız cordova CLI kullanmaktır.


4

Bu ilk seçim kafa karıştırıcı olabilir ama gerçekten çok basit. PhoneGap, Adobe'nin sahip olduğu ve şu anda ek oluşturma hizmetleri içeren bir üründür ve gelecekte ek hizmetler ve / veya ücret ödemeleri sunabilir veya sunmayabilir. Cordova, Apache'ye aittir ve Apache'ye aittir ve her zaman açık kaynaklı bir proje olarak sürdürülecektir. Şu anda her ikisinin de çok benzer bir API'si var. Ek PhoneGap oluşturma hizmetlerine ihtiyacınız yoksa Cordova ile gitmenizi tavsiye ederim.


1

Yukarıda, Abhishek iki URL'de belirtilen komut satırı farklılıklarından bahseder:

  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

Belirtilmesi gereken bir şey, bu yazıdan itibaren telefon aralığının cordova ile neredeyse aynı görünmesi ve muhtemelen komut satırı seçeneği farklılıklarının doğru bir görüntüsü olmamasıdır. Bu nedenle, her ikisini de sistemime yükledim, böylece farklılıklara bakabildim.

Bunlar bunlardan sadece birkaçı. Umarım bir ara daha senkronize olurlar. Daha iyi bir bilgi varsa, lütfen söyle.

  1. Platform ekleme iki komut arasında farklı bir şekilde yapılıyor gibi görünüyor (phonegap "install" komutunu, cordova "platform add" komutunu kullanıyor)
  2. Proje eklemek / oluşturmak iki komut arasında aynı gibi görünüyor (aynı komut satırı seçenekleri destekleniyor)
  3. Açıkçası, belirtildiği gibi, telefongapı PhoneGap Build'ı kullanabilir, bu yüzden o veya yerel yapıları tetiklemek için karşılık gelen seçeneklere sahiptir.
  4. Diğer birkaç önemli komut satırı farkı, sadece "cordova yardımı" ve "telefon boşluğu yardımı" nı çalıştırarak ve ikisini karşılaştırarak.

Demek istediğim, sık sık bahsedilen telefongözü CLI belgesinin telefongözü CLI için değil, şu anda cordova CLI için olduğu. Lütfen bir şey eksik olup olmadığımı söyle. Teşekkürler.


1

Uygulamamı oluştururken beni karışık bir telefon boşluğu ve cordova cli komutları çantası kullanmaya zorlayan bu farkı buldum:

'phonegap plugin add' komut satırı parametrelerini düzgün işleyemese de 'cordova platform add' kusursuz çalışıyor

Kullandığım komut:

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

Not Phonegap 3.5 kullanıyorum


0

Şimdi bir gün telefon boşluğu ve cordova Adobe'ye ait. Sadece isim sohbeti farklıydı. Kurulum eklentisi işlevselliği için, telefon boşluğu ve cordova için de aynı komutu kullanmalıyız.

Komut: cordova eklentisi cordova-plugin-fotoğraf-kütüphane ekle

Buraya,

  • cordova - başlatıcı için anahtar kelime
  • eklenti - eklentiyi başlat
  • cordova eklentisi fotoğraf kütüphanesi - eklenti adı.

Https://cordova.apache.org/docs/en/latest/ adresinden daha fazla eklenti bulabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.