มีความแตกต่างระหว่างคำสั่ง PhoneGap และ Cordova หรือไม่?


286

ฉันเพิ่งติดตั้ง Phonegap เป็นครั้งแรกและเพิ่งดูผ่านเอกสาร สิ่งที่ทำให้ฉันสับสนคือข้อเท็จจริงที่ว่าเอกสารบางฉบับใช้คำสั่ง "phonegap" และ "cordova"

คู่มือแพลตฟอร์ม Android:

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

คู่มืออินเตอร์เฟสบรรทัดคำสั่งบอกว่า:

$ phonegap create hello com.example.hello HelloWorld

มีความแตกต่างระหว่างสองคำสั่ง (ส่งผลให้ไฟล์และโครงสร้างโฟลเดอร์แตกต่างกัน) หรือพวกเขาเป็นเพียงนามแฝงสำหรับสิ่งเดียวกันหรือไม่


ความเป็นไปได้ที่ซ้ำกันของAdobe PhoneGap และ Apache Cordova แตกต่างกันอย่างไร
givanse

อ้างอิงถึงบทความ Devgeeksแบบฟอร์มนี้ 2014: TL; DR: หากคุณไม่จำเป็นต้องใช้บริการคลาวด์บิวด์ที่ PhoneGap Build เพียงใช้เครื่องมือ Cordova CLI ไม่ใช่ PhoneGap
Dheeraj Vepakomma

ไม่มีความแตกต่างใน cmd ถ้าคุณอ้างถึงอาร์กิวเมนต์ที่ยกมา เหตุผลเดียวที่จะอ้างถึงข้อโต้แย้งในบรรทัด cmd คือถ้ามันมีช่องว่างหรือตัวละครบางตัวที่มีความหมายกับภาษาขั้ว นอกจากนี้คุณยังสามารถหลบหนีอักขระที่กล่าวถึง (รวมช่องว่าง) ด้วยแบ็กสแลช
ekerner

ใดก็ได้หนึ่งช่วยเหลือฉันที่นี่stackoverflow.com/questions/52873787/…
Ali Khan

คำตอบ:


185

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

ฉันคิดว่า URL นี้อธิบายสิ่งที่คุณต้องการ Phonegap สร้างขึ้นบน Apache Cordova ไม่มีอะไรอื่น คุณสามารถคิดถึง Apache Cordova เป็นเครื่องมือที่ให้พลัง PhoneGap เมื่อเวลาผ่านไปการกระจาย PhoneGap อาจมีเครื่องมือเพิ่มเติมและนั่นเป็นเหตุผลว่าทำไมพวกเขาจึงใช้คำสั่งต่างกัน แต่ก็ทำสิ่งเดียวกัน

แก้ไข: ข้อมูลเพิ่มเติมเพิ่มเป็นเกี่ยวกับความแตกต่างของคำสั่งและสิ่งที่ phonegap สามารถทำได้ในขณะที่ apache Cordova ไม่สามารถหรือ viceversa

ตัวเลือกบรรทัดคำสั่งแรกของ 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. แม้ว่าสำหรับ local builds phonegap cli จะใช้ Cordova cli (ลิงก์เพื่อตรวจสอบ: https://github.com/phonegap/phonegap-cli/blob/master/lib/phonegap/util/platform.js )

    ชื่อสภาพแวดล้อมของแพลตฟอร์ม การทำแผนที่:

    'local' => cordova-cli

    'remote' => PhoneGap / Build

รวมทั้งจากที่เก็บต่อไปนี้: โมดูลที่ต้องใช้ Cordova คือ

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

@ Hexodus คุณสามารถนึกถึง Apache Cordova เป็นเครื่องมือที่เสริมพลัง PhoneGap เมื่อเวลาผ่านไปการกระจาย PhoneGap อาจมีเครื่องมือเพิ่มเติมและนั่นเป็นเหตุผลว่าทำไมพวกเขาจึงใช้คำสั่งต่างกัน แต่ก็ทำสิ่งเดียวกัน
Abhishek

2
Thanx Abhishek - นี่ตอบคำถามของฉัน ฉันคิดว่าอาจมีบางอย่างเพิ่มเติมจากคำสั่ง phonegap vs cordova ที่ยังสับสน ...
Hexodus

6
เหตุใดเอกสารจึงสับสนเกี่ยวกับเรื่องนี้ ฉันสามารถอ่านได้$ sudo npm install -g phonegap ที่นี่ที่ฉันดาวน์โหลดช่องว่างโทรศัพท์แล้วในเอกสารที่เกี่ยวข้องที่นี่ในส่วน CLI ที่คุณตั้งค่าแอปใหม่พวกเขาใช้คอร์โดวาเช่นนั้น: $ cordova create hello com.example.hello HelloWorldฉันไม่สามารถหาความสัมพันธ์ระหว่างรหัสที่ระบุใน หน้า dl และที่อยู่ในเอกสารของ phonegap ที่ใช้เฉพาะบรรทัดคำสั่ง Cordova (อย่างน้อยสำหรับส่วน CLI ที่คุณควรเริ่มต้น)
Miles M.

1
เอกสารเหล่านี้สร้างความสับสนให้กับบางคนที่ชอบการขยายโดย Miles M. พวกเขาขอให้คุณติดตั้ง phonegap โดยใช้ npm แต่ในเอกสารต่อไปนี้คำสั่งเกือบทั้งหมดใช้ Cordova แทน phonegap
wmfairuz

78

ตอบกลับล่าช้า แต่ฉันคิดว่านี่อาจเป็นประโยชน์

มีความแตกต่างระหว่างสอง cli phonegapเป็นคำสั่งที่แค็ปซูcordovaล ในcreateกรณีที่แตกต่างเพียงอย่างเดียวคือแอพเริ่มต้นที่ overriden

ในบางกรณีความแตกต่างนั้นมีความสำคัญมากกว่า ตัวอย่างเช่นphonegap buildมาพร้อมกับฟังก์ชั่นการสร้างระยะไกลในขณะที่cordova buildสนับสนุนเฉพาะงานสร้างท้องถิ่น

ข้อ จำกัด ขนาดใหญ่ที่ฉันพบกับ PhoneGap คือ AFAIK คุณสามารถสร้าง APK ที่วางจำหน่ายได้โดยใช้บริการPhoneGap Buildเท่านั้น cordova build android --releaseบนคอร์โดวาคุณสามารถสร้างด้วย


1
แต่แล้ว "phonegap local build" ล่ะ?
Andreas Kuckartz

1
แม้ว่าฉันจะไม่คิดว่าคุณสามารถสร้าง apk ที่วางจำหน่ายได้ phonegap local build androidและphonegap build androidเป็นคำสั่งเดียวกัน
htulipe

2
ดูเหมือนว่าเป็นไปได้ที่จะทำการสร้างท้องถิ่นสำหรับการเปิดตัว APK: chris-allen-lane.com/2012/12/30
donturner

7
Adobe® PhoneGap ™ Build เป็นบริการบนเว็บที่รวบรวมแอพ PhoneGap สำหรับคุณจากระยะไกลทำให้แพคเกจที่สามารถดาวน์โหลดได้มีอยู่ในเว็บอินเตอร์เฟสที่ build.phonegap.com หากคุณใช้ PhoneGap Build คุณไม่จำเป็นต้องติดตั้งและดูแลรักษาเครื่องมือ SDK ท้องถิ่นสำหรับแพลตฟอร์มมือถือหลายแห่งและคาดว่าจะสามารถอัปเดตโครงการได้อย่างราบรื่น ที่กล่าวว่าหากคุณต้องการสร้าง APK ในเครื่องของคุณโดยไม่ต้องใช้งาน build ของ Adobe จากนั้นทำตามคำแนะนำแพลตฟอร์มเป้าหมายของคุณที่นี่: docs.phonegap.com/en/edge/…
numediaweb

ใช่ฉันเป็นห่วงฉันต้องจ่ายโดยใช้phonegapคำสั่ง มันฟังดูดีกว่าที่จะใช้cordova
Connor Leech

23

จากสิ่งที่ฉันอ่าน (และโปรดแก้ไขให้ฉันถ้าฉันผิด):

Phonegap อ้างว่าพวกเขาเริ่มพยายามทำสิ่งนี้ แต่ไม่สามารถทำได้ดังนั้นพวกเขาจึงส่งต่อให้มูลนิธิซอฟต์แวร์ Apache

Apache ในสุดยอดของพวกเขา (Long live Apache) แก้ไขพัฒนาและทำให้ยอดเยี่ยมมาก

ตอนนี้ Phonegap กำลังพยายามที่จะรักษาและปรับปรุงสำเนาที่พวกเขานำกลับมา แต่ก็ยังคงบรรจุมันอยู่

ดังนั้นโดยความคิดของฉันฉันต้องการแพลตฟอร์ม dev ที่น่าเชื่อถือและน่าเชื่อถือซึ่งทำโดยผู้เชี่ยวชาญที่มีประสบการณ์ที่ฉันสามารถไว้วางใจได้มากกว่าที่จะได้รับการติดตั้งตามเวอร์ชันย่อยของการพูด ดังนั้น Id บอกว่าฉันเป็นนักพัฒนา Cordova ไม่ใช่นักพัฒนา Phonegap

Iv ยังอ่านว่าในความพยายามครั้งที่สองที่หมดหวังที่จะได้รับความนิยมและการควบคุมงานที่ยอดเยี่ยมของ Apache ตอนนี้ Phonegap ได้ถูกขายภายใต้ธง Adobe คุณรู้จัก Adobe พวกเขาเป็นคนที่ไม่ทำอะไรเลยฟรีและแย่มากในการรักษาวงจรชีวิตของซอฟต์แวร์ที่แอพของพวกเขาจำเป็นต้องทำการอัปเดตทุกครั้งที่คุณกระพริบตาและด้วยเหตุผลบางอย่าง จะคาดหวัง

ฉันเดาว่าเป็นบทสรุปของการวิจัยของฉันหากฉันไม่ได้อ่านผิด

และถ้าเป็นจริงแล้วให้ปล่อยเรื่องไร้สาระของ Phonegap ทั้งหมดนี้และเพียงแค่ติดกับ Cordova


2
อย่าไปยากกับ Adobe - พวกเขาทำงานได้อย่างน่าทึ่งในการดูแลรักษาซอฟต์แวร์ของพวกเขา คิดใน Photoshop - มันออกมีตั้งแต่ 24 ปีและยังดีที่สุดในเขต Phonegap เป็นบริการสร้างคลาวด์มากกว่าสิ่งอื่นใด รหัสดูเหมือนจะสวยมากเหมือนกับ Cordova - ไม่เช่นนั้นพวกเขาจะไม่นำมาใช้กับรุ่น Cordova รุ่นใหม่เร็วนัก บริการคลาวด์ทำให้กระบวนการสร้างเป็นเรื่องง่าย สำหรับฉันในฐานะผู้ใช้ Creative Cloud มันยอดเยี่ยมมาก
Hexodus

2
:) ตกลง. อย่างไรก็ตาม Adobe มีชื่อเสียงในด้านแอพพลิเคชั่นที่อัปเดตเกินจริงซึ่งนักพัฒนาได้ยึดถือมาตลอด 24 ปีที่ผ่านมาดังนั้นเว็บไซต์: dearadobe.comมันเป็นเรื่องง่ายมากที่จะรวบรวม / สร้างแอพ Cordova โดยใช้วิธีการที่ออกแบบมาเพื่อ สิ่งเดียวที่เมฆเพิ่มคือต้นทุน อย่างไรก็ตามฉันรู้ว่านักพัฒนาบางคนลังเลที่จะเรียนรู้อินเตอร์เฟสบรรทัดคำสั่งและเพื่อให้ฉันสามารถเข้าใจถึงผลกำไรและการมีอยู่ของคลาวด์ ฉันเดาว่าผู้เล่นอายุน้อยและ / หรือสีเขียวจะเพลิดเพลินไปกับความสะดวกสบายของมัน
ekerner

1
CLI ที่ไม่เต็มใจเหล่านั้นสามารถหายใจได้ง่ายในขณะที่ Cordova ตอนนี้รองรับ VS 2013 Update 3 แล้ว :) visualstudio.com/explore/cordova-vs
rism

2
ว้าว rism ที่น่าสนใจมาก MS (การมุ่งเน้นเฉพาะแพลตฟอร์มแม่) ในที่สุดดูเหมือนว่าจะเข้าร่วมกับพวกเราที่เหลือ รุ่งโรจน์สำหรับพวกเขาไม่เพียง แต่จ้าง Cordova และให้เครดิต Apache แต่ยังรองรับแพลตฟอร์มที่ไม่ใช่ MS iOS และ Android ฉันประหลาดใจอย่างสมบูรณ์โดยสิ่งนี้ ฉันอาจต้องหยุดการคว่ำบาตรพวกเขาหากพวกเขารักษาทัศนคตินี้
ekerner

13

นี่คือความแตกต่างที่ฉันได้ค้นพบ:

ฉันกำลังเปรียบเทียบ phonegap 3.3.0-0.18.0 CLI กับฟังก์ชันที่อธิบายไว้ในเอกสารประกอบ Cordova 3.3.0 สำหรับ CLI นั้น

  1. "ls" เป็นตัวเลือกสำหรับ "ปลั๊กอิน Cordova" แต่ไม่ใช่สำหรับ "phonegap plugin" คุณต้องใช้ "รายการ" แทน เช่น: "รายการปลั๊กอิน phonegap"

  2. "เสิร์ฟ" ไม่มีการบันทึกไว้ใน "phonegap -help" แต่มีอยู่จริงและใช้งานได้ จะไม่ค้นหาและโหลด phonegap.js ดังนั้นหน้าเว็บจะไม่โหลดเต็มที่ แต่ก็ยังให้ค่าบางอย่าง ฉันไม่แน่ใจว่าสิ่งนี้แตกต่างจากพฤติกรรมคอร์โดวาหรือไม่

  3. "phonegap platform add" ไม่ทำงานใน phonegap คุณต้องทำ "phonegap build" เพื่อเพิ่มการรองรับสำหรับแพลตฟอร์ม

โปรดทราบว่าคุณอาจพบข้อความแสดงข้อผิดพลาดที่สับสนใน phonegap ซึ่งโซลูชันที่แนะนำอ้างถึงการใช้คำสั่ง Cordova


6

ฉันยังสังเกตเห็นว่าคอร์โดวามีคำสั่ง "เสิร์ฟ" ที่ Phonegap ไม่ คำสั่งนี้เปิดตัวเซิร์ฟเวอร์ภายในที่พอร์ต 8000 ซึ่งเป็นประโยชน์สำหรับการเรียกใช้แอปของคุณใน Chrome และใช้ตัวจำลองแบบ Ripple


2
เป็นที่น่าสังเกตว่าส่วนขยายของโครเมี่ยมจำลอง Ripple นั้นใช้งานไม่ได้และตอนนี้เป็นเครื่องมือบรรทัดคำสั่ง Node.js ภายใต้ Apache Incubator npm install -g ripple-emulatorจากภายในโครงการของคุณ dir:ripple emulate --path platforms/android/assets/www
razorbeard

คุณช่วยอธิบายเกี่ยวกับ "broken", @Synaptix ได้ไหม? ดูเหมือนว่าจะทำงานให้ฉัน
zkent

2
ได้อ่านสิ่งนี้: raymondcamden.com/index.cfm/2013/11/5/Ripple-is-Reborn
razorbeard

ขอบคุณสำหรับสิ่งนั้น เห็นได้ชัดว่า Ripple มีมากกว่าที่ฉันคิดไว้
zkent

Phonegap มีเดสก์ท็อป GUI ที่ให้คุณทำ "เสิร์ฟ" ด้วยการดาวน์โหลดแอปพลิเคชั่น Phonegap สำหรับ Android หรือ iOS คุณสามารถทดสอบแอปพลิเคชันบนอุปกรณ์ได้อย่างรวดเร็วโดยตรงโดยไม่ต้องใช้ตัวจำลองเริ่มต้นที่ยาว แอปพลิเคชั่น Phonegap มือถือเชื่อมต่อผ่าน wifi ไปยังเซิร์ฟเวอร์ในพื้นที่ของคุณบนพอร์ต 3000 และแสดงแอปของคุณบนอุปกรณ์ของคุณทำให้คุณดูและรู้สึกถึงประสิทธิภาพ
Astrowie

5

ทั้งคู่เหมือนกันยกเว้น phonegap cli สามารถช่วยคุณสร้างแอปพลิเคชันของคุณบน PhoneGap Build คำแนะนำของฉันคือการใช้ Cordova CLI ถ้าคุณไม่ใช้บริการ PhoneGap build


4

ตัวเลือกแรกนี้อาจเป็นเรื่องที่สับสน แต่จริงๆแล้วมันง่ายมาก PhoneGap เป็นผลิตภัณฑ์ของ Adobe ซึ่งขณะนี้มีบริการสร้างเพิ่มเติมและในที่สุดอาจหรือไม่อาจเสนอบริการเพิ่มเติมและ / หรือเรียกเก็บเงินสำหรับการใช้ในอนาคต Cordova เป็นเจ้าของและดูแลโดย Apache และจะได้รับการดูแลเป็นโครงการโอเพ่นซอร์สเสมอ ปัจจุบันพวกเขาทั้งสองมี API คล้ายกันมาก ฉันอยากจะแนะนำให้ไปกับ Cordova ยกเว้นว่าคุณต้องการบริการสร้าง PhoneGap เพิ่มเติม


1

ด้านบน Abhishek กล่าวถึงความแตกต่างของบรรทัดคำสั่งที่ระบุในสอง URL:

  1. PhoneGap: http://docs.phonegap.com/th/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

สิ่งหนึ่งที่ชี้ให้เห็นก็คือในขณะที่โพสต์นี้โทรศัพท์รุ่นหนึ่งดูเหมือนจะคล้ายกับคอร์โดวาตัวหนึ่งและอาจเป็นภาพที่ไม่ถูกต้องของความแตกต่างของตัวเลือกบรรทัดคำสั่ง ด้วยเหตุนี้ฉันจึงติดตั้งทั้งสองอย่างในระบบเพื่อดูความแตกต่าง

นี่เป็นเพียงส่วนหนึ่งของพวกเขา หวังว่าพวกเขาจะนำมาซิงค์กันมากขึ้นในบางครั้ง หากใครมีข้อมูลที่ดีขึ้นโปรดบอกฉัน

  1. ดูเหมือนว่าการเพิ่มแพลตฟอร์มจะทำแตกต่างกันระหว่างสองคำสั่ง (phonegap ใช้คำสั่ง "ติดตั้ง", Cordova ใช้คำสั่ง "เพิ่มแพลตฟอร์ม")
  2. การเพิ่ม / สร้างโครงการดูเหมือนจะเหมือนกันระหว่างสองคำสั่ง (รองรับตัวเลือกบรรทัดคำสั่งเดียวกัน)
  3. เห็นได้ชัดว่าตามที่ระบุไว้ phonegap สามารถใช้ PhoneGap Build ดังนั้นจึงมีตัวเลือกที่สอดคล้องกันเพื่อทริกเกอร์หรือสร้างในท้องถิ่น
  4. ค่อนข้างแตกต่างบรรทัดคำสั่งที่สำคัญอื่น ๆ เพียงแค่เรียกใช้ "Cordova ช่วย" และ "phonegap ช่วย" และเปรียบเทียบทั้งสอง

ฉันเดาว่าประเด็นของฉันคือเอกสาร phonei ของ CLI ที่กล่าวถึงค่อนข้างบ่อยไม่ใช่ของ phonegap CLI แต่สำหรับ Cordova CLI ในเวลานี้ โปรดบอกฉันว่าฉันขาดอะไร ขอบคุณ


1

ฉันพบความแตกต่างนี้ซึ่งบังคับให้ฉันใช้คำสั่ง phonegap และ cordova cli แบบผสมในการสร้างแอปของฉัน:

'phonegap plugin add' ไม่สามารถจัดการพารามิเตอร์บรรทัดคำสั่งได้อย่างถูกต้องในขณะที่ 'แพลตฟอร์ม Cordova เพิ่ม' ทำงานได้อย่างไม่มีที่ติ

คำสั่งที่ฉันใช้คือ:

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

หมายเหตุฉันใช้ phonegap 3.5


0

ตอนนี้มีโทรศัพท์วันและ Cordova เป็นเจ้าของโดย Adobe การสนทนาชื่อแตกต่างกันเท่านั้น สำหรับฟังก์ชั่นติดตั้งปลั๊กอินเราควรใช้คำสั่งเดียวกันสำหรับ phonegap และ cordova ด้วย

คำสั่ง: ปลั๊กอิน Cordova เพิ่ม Cordova-plugin-photo-library

ที่นี่

  • Cordova - คำสำคัญสำหรับผู้เริ่มต้น
  • ปลั๊กอิน - เริ่มต้นปลั๊กอิน
  • ไลบรารีรูปภาพปลั๊กอิน Cordova - ชื่อปลั๊กอิน

คุณสามารถหาปลั๊กอินเพิ่มเติมได้จากhttps://cordova.apache.org/docs/en/latest/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.