Apakah ada perbedaan antara perintah PhoneGap dan Cordova?


286

Saya baru saja menginstal Phonegap untuk pertama kalinya dan hanya melihat-lihat dokumen. Yang membingungkan saya adalah kenyataan bahwa beberapa dokumen menggunakan perintah "phonegap" dan beberapa "cordova".

Panduan platform Android:

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

Panduan Antarmuka Baris Perintah memberi tahu:

$ phonegap create hello com.example.hello HelloWorld

Apakah ada perbedaan antara kedua perintah (menghasilkan file dan struktur folder yang berbeda) atau mereka hanya alias untuk hal yang sama?



Lihat formulir artikel Devgeeks ini 2014: TL; DR: Jika Anda tidak perlu menggunakan layanan cloud build di PhoneGap Build, cukup gunakan alat Cordova CLI, bukan yang PhoneGap.
Dheeraj Vepakomma

Tidak ada perbedaan dalam cmd jika Anda merujuk pada argumen yang dikutip. Satu-satunya alasan untuk mengutip argumen pada baris cmd adalah jika itu berisi spasi atau karakter tertentu yang memiliki makna pada bahasa terminal. Anda juga dapat menghindari karakter tersebut (termasuk spasi) dengan garis miring terbalik.
ekerner

Jawaban:


185

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

Saya pikir url ini menjelaskan apa yang Anda butuhkan. Phonegap dibangun di atas Apache Cordova. Anda dapat menganggap Apache Cordova sebagai mesin yang mendukung PhoneGap. Seiring waktu, distribusi PhoneGap mungkin berisi alat tambahan dan itulah sebabnya mereka berbeda dalam perintah. Tetapi mereka melakukan hal yang sama.

EDIT: Info tambahan ditambahkan sebagai tentang perbedaan perintah dan apa yang dapat dilakukan phonegap sementara apache cordova tidak bisa atau sebaliknya

Pertama opsi baris perintah PhoneGap

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

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

  1. Karena hampir semua perintah serupa. Ada beberapa perbedaan (Catatan: Tidak ada perbedaan dalam basis kode)

  2. Adobe dapat menambahkan fitur tambahan ke PhoneGap sehingga tidak akan ada di Cordova, misalnya: Membangun aplikasi jarak jauh untuk itu Anda perlu memiliki akun di https://build.phonegap.com

  3. Padahal Untuk membangun lokal, cliegap menggunakan cli cordova (Tautan untuk memeriksa: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    Nama Lingkungan Platform. Pemetaan:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

Juga dari repositori berikut: Modul yang membutuhkan cordova adalah:

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

Yang tidak termasuk cordova:

remote build
remote install
remote login,logout
remote run
serve

2
Baik untuk mengetahui tetapi ini adalah pertanyaan tentang perbedaan antara perintah cli (jika ada).
Hexodus

@Hexodus Anda dapat menganggap Apache Cordova sebagai mesin yang menggerakkan PhoneGap. Seiring waktu, distribusi PhoneGap mungkin berisi alat tambahan dan itulah sebabnya mereka berbeda dalam perintah. Tetapi mereka melakukan hal yang sama.
Abhishek

2
Thanx Abhishek - ini menjawab pertanyaan saya. Saya berpikir bahwa mungkin ada sesuatu yang lebih dengan perintah phonegap vs cordova yang masih membingungkan ...
Hexodus

6
Jadi, mengapa dokter begitu bingung tentang hal itu? Saya dapat membaca di $ sudo npm install -g phonegap sini , di mana saya mengunduh celah telepon, dan kemudian di dokumentasi terkait di sini , di bagian CLI di mana Anda mengatur aplikasi baru, mereka menggunakan cordova seperti itu: $ cordova create hello com.example.hello HelloWorldSaya tidak dapat menemukan hubungan antara kode yang diberikan dalam halaman dl dan yang diberikan dalam dokumen phonegap yang secara eksklusif menggunakan baris perintah cordova (setidaknya untuk bagian CLI di mana Anda seharusnya memulai)
Miles M.

1
Dokumen benar-benar membingungkan untuk beberapa perluasan seperti disorot oleh Miles. M. Mereka meminta Anda untuk menginstal phonegap menggunakan npm, tetapi dalam dokumen berikut, hampir semua perintah menggunakan cordova alih-alih phonegap.
wmfairuz

78

Jawaban terlambat tapi saya pikir ini mungkin berguna.

Ada perbedaan antara kedua cli, phonegapadalah perintah yang merangkum cordova. Dalam hal createini satu-satunya perbedaan adalah aplikasi default utama

Dalam beberapa kasus lain perbedaannya jauh lebih signifikan. Misalnya phonegap builddilengkapi dengan fungsi build jarak jauh sementara cordova buildhanya mendukung build lokal.

Keterbatasan besar yang saya temukan untuk PhoneGap adalah, AFAIK, Anda hanya dapat membuat APK rilis menggunakan layanan PhoneGap Build . Di Cordova Anda bisa membuatnya cordova build android --release.


1
Tapi bagaimana dengan "membangun lokal phonegap"?
Andreas Kuckartz

1
Bahkan dengan itu saya tidak berpikir Anda dapat membangun apk rilis. phonegap local build androiddan phonegap build androidperintah yang sama.
htulipe

2
Tampaknya bahwa adalah mungkin untuk melakukan membangun lokal untuk rilis APK: chris-allen-lane.com/2012/12/...
donturner

7
Adobe® PhoneGap ™ Build adalah layanan web yang mengkompilasi aplikasi PhoneGap untuk Anda dari jarak jauh, membuat paket yang dapat diunduh tersedia dalam antarmuka web yang sederhana di build.phonegap.com. Jika Anda menggunakan PhoneGap Build, Anda tidak perlu menginstal dan memelihara alat SDK lokal untuk beberapa platform seluler, dan dapat berharap untuk memperbarui proyek dengan lancar. Yang mengatakan, jika Anda ingin membangun APK Anda sendiri secara lokal tanpa menggunakan Adobe build, maka, ikuti panduan platform target Anda di sini: docs.phonegap.com/en/edge/…
numediaweb

ya saya khawatir saya harus membayar menggunakan phonegapperintah. Kedengarannya lebih baik menggunakancordova
Connor Leech

23

Dari apa yang saya baca (dan tolong koreksi saya jika saya salah):

Phonegap mengklaim bahwa mereka mulai mencoba membuat ini tetapi tidak bisa, jadi mereka meneruskannya ke Apache Software Foundation.

Apache dalam kedahsyatan mereka (Apache hidup lama) memperbaikinya, mengembangkannya, dan membuatnya sangat luar biasa.

Sekarang Phonegap berusaha untuk mempertahankan dan meningkatkan salinan yang mereka ambil kembali, tetapi tetap mengisinya.

Jadi, dengan pemikiran saya, saya menginginkan platform dev yang solid dan dapat dipercaya yang dibuat oleh para profesional berpengalaman yang dapat saya percayai, daripada ditambal atas sub-versi kata. Oleh karena itu saya mengatakan saya adalah pengembang Cordova BUKAN pengembang Phonegap.

Iv juga membaca bahwa dalam upaya putus asa kedua untuk mendapatkan popularitas dan kontrol atas karya-karya besar Apache, Phonegap kini telah dijual di bawah bendera Adobe. Anda tahu Adobe, mereka adalah orang-orang yang tidak melakukan apa pun secara gratis dan sangat buruk dalam mempertahankan siklus hidup perangkat lunak sehingga aplikasi mereka perlu melakukan pembaruan setiap kali Anda berkedip, dan untuk beberapa alasan masing-masing aplikasi mereka sekitar 100 kali ukuran Anda. harapkan.

Saya kira itu adalah ringkasan penelitian saya jika saya tidak membacanya dengan salah.

Dan jika benar, maka biarkan semua menjatuhkan seluruh omong kosong Phonegap ini dan tetap dengan Cordova.


2
Jangan terlalu sulit untuk Adobe - mereka melakukan pekerjaan yang sangat luar biasa dalam memelihara perangkat lunak mereka. Pikirkan tentang Photoshop - ini sudah ada sejak 24 tahun dan masih yang terbaik di bidangnya. Phonegap lebih merupakan layanan cloud build daripada yang lainnya. Kode ini kelihatannya hampir sama dengan Cordova - jika tidak, mereka tidak dapat mengadopsi versi cordova begitu cepat. Layanan cloud membuat proses pembangunan sangat mudah. Bagi saya sebagai pengguna Creative Cloud, itu semua bersifat inculsive.
Hexodus

2
:) BAIK. Namun Adobe terkenal dengan aplikasi mereka yang membengkak dan diperbarui secara berlebihan, yang selama ini dikuasai oleh pengembang selama 24 tahun, maka situs ini: dearadobe.com Sangat mudah untuk menyusun / membangun aplikasi Cordova menggunakan metode yang dirancang, sehingga untuk saya satu-satunya hal yang ditambahkan cloud adalah biaya. Namun saya tahu bagaimana beberapa pengembang enggan mempelajari antarmuka baris perintah dan karenanya saya dapat memahami keuntungan dan karena itu keberadaan cloud. Saya kira pemain muda dan / atau hijau akan menikmati kenyamanannya.
ekerner

1
Mereka yang enggan CLI dapat bernafas lega karena Cordova sekarang adalah VS 2013 Update 3 yang kompatibel :) visualstudio.com/explore/cordova-vs
rism

2
Wah rism itu sangat menarik. MS (fokus khusus platform ibu) akhirnya tampaknya bergabung dengan kita semua. Kudos kepada mereka untuk tidak hanya menggunakan Cordova dan mengkredit Apache, tetapi juga mendukung platform non MS iOS dan android. Saya benar-benar terkejut dengan ini. Saya mungkin harus berhenti memboikot mereka jika mereka mempertahankan sikap ini.
ekerner

13

Berikut adalah perbedaan yang saya temukan:

Saya membandingkan phonegap 3.3.0-0.18.0 CLI dengan fungsi yang dijelaskan dalam dokumentasi cordova 3.3.0 untuk CLI itu.

  1. "ls" adalah opsi untuk "plugin cordova" tetapi tidak untuk "plugin phonegap". Anda harus menggunakan "daftar" sebagai gantinya. mis: "daftar plugin phonegap"

  2. "serve" tidak didokumentasikan dalam "phonegap -help" tetapi ia ada dan berfungsi. Itu tidak akan menemukan dan memuat phonegap.js sehingga halaman tidak pernah memuat sepenuhnya tetapi masih memberikan beberapa nilai. Saya tidak yakin apakah ini berbeda dari perilaku cordova.

  3. "phonegap platform add" tidak berfungsi di phonegap. Anda harus melakukan "pembuatan phonegap" untuk menambahkan dukungan untuk platform.

Perhatikan bahwa Anda mungkin juga mengalami beberapa pesan kesalahan yang membingungkan di phonegap di mana solusi yang disarankan mengacu pada menggunakan perintah cordova.


6

Saya juga memperhatikan bahwa cordova memiliki perintah "melayani" yang tidak dimiliki Phonegap. Perintah ini meluncurkan server lokal pada port 8000. Ini berguna untuk menjalankan aplikasi Anda di Chrome dan menggunakan emulator Ripple.


2
Perlu dicatat bahwa ekstensi chrome emulator Ripple rusak, dan sekarang menjadi alat baris perintah Node.js di bawah Apache Incubator. npm install -g ripple-emulator, kemudian dari dalam dir proyek Anda:ripple emulate --path platforms/android/assets/www
razorbeard

Bisakah Anda menguraikan pada "rusak", @ Sinaptix? Sepertinya itu bekerja untuk saya.
zkent


Terima kasih untuk itu. Tampaknya ada lebih banyak hal untuk Ripple daripada yang saya kira.
zkent

Phonegap memiliki GUI desktop yang memungkinkan Anda melakukan "melayani". Dengan mengunduh aplikasi Phonegap untuk Android atau iOS Anda juga dapat langsung menguji aplikasi pada perangkat dengan cepat, tanpa menjalankan emulator yang mulai lama. Aplikasi Phonegap Mobile terhubung melalui wifi ke server lokal Anda pada port 3000 dan menampilkan aplikasi Anda pada perangkat Anda, memberi Anda tampilan dan perasaan kinerja.
Astrowie

5

keduanya identik, kecuali bahwa cli phonegap dapat membantu Anda membangun aplikasi Anda di PhoneGap Build. Saran saya adalah menggunakan cordova CLI jika Anda tidak menggunakan layanan pembuatan PhoneGap.


4

Pilihan pertama ini mungkin membingungkan tetapi sangat sederhana. PhoneGap adalah produk yang dimiliki oleh Adobe yang saat ini mencakup layanan build tambahan, dan mungkin atau mungkin tidak pada akhirnya menawarkan layanan tambahan dan / atau membebankan biaya pembayaran untuk digunakan di masa depan. Cordova dimiliki dan dikelola oleh Apache, dan akan selalu dipertahankan sebagai proyek open source. Saat ini mereka berdua memiliki API yang sangat mirip. Saya akan merekomendasikan pergi dengan Cordova, kecuali jika Anda memerlukan layanan membangun PhoneGap tambahan.


1

Di atas, Abhishek menyebutkan perbedaan baris perintah yang ditentukan dalam dua URL:

  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

Satu hal yang perlu diperhatikan adalah, pada pos ini, phonegap terlihat hampir sama dengan cordova, dan mungkin bukan gambaran akurat dari perbedaan opsi baris perintah. Karena itu, saya menginstal keduanya pada sistem saya sehingga saya bisa melihat perbedaannya.

Ini hanya beberapa di antaranya. Semoga mereka dibawa lebih sinkron kapan-kapan. Jika ada yang memiliki informasi yang lebih baik, tolong beri tahu saya.

  1. Menambahkan platform tampaknya dilakukan secara berbeda di antara kedua perintah (phonegap menggunakan perintah "install", cordova menggunakan perintah "platform add")
  2. Menambah / membuat proyek tampaknya sama antara dua perintah (opsi baris perintah yang sama didukung)
  3. Jelas, seperti yang telah dinyatakan, phonegap dapat menggunakan PhoneGap Build, sehingga memiliki opsi yang sesuai untuk memicu itu atau membangun lokal
  4. Cukup banyak perbedaan baris perintah yang signifikan, hanya dengan menjalankan "bantuan cordova" dan "bantuan phonegap" dan membandingkan keduanya.

Saya kira maksud saya adalah bahwa dokumentasi CLI phonegap yang disebutkan cukup sering sebenarnya bukan untuk CLI phonegap, tetapi untuk CLI cordova, pada saat ini. Tolong beritahu saya jika saya kehilangan sesuatu. Terima kasih.


1

Saya menemukan perbedaan ini yang memaksa saya untuk menggunakan tas campuran perintah phonegap dan cordova cli ketika membangun aplikasi saya:

'phonegap plug add' tidak dapat menangani parameter baris perintah dengan benar, sedangkan 'cordova platform add' berfungsi dengan sempurna

Perintah yang saya gunakan adalah:

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

Catatan Saya menggunakan phonegap 3.5


0

Sekarang phonegap dan cordova dimiliki oleh Adobe. Hanya percakapan nama yang berbeda. Untuk menginstal fungsionalitas plugin, kita harus menggunakan perintah yang sama untuk phonegap dan cordova juga.

Perintah: plugin cordova tambahkan cordova-plugin-photo-library

Sini,

  • cordova - kata kunci untuk penggagas
  • plugin - menginisialisasi plugin
  • cordova plugin photo library - nama plugin.

Anda juga dapat menemukan lebih banyak plugin dari https://cordova.apache.org/docs/en/latest/

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.