Score:5

จะสร้างแอปพลิเคชันเดสก์ท็อปสำหรับ Ubuntu Software Center ได้อย่างไร

ธง kr

ฉันต้องการพัฒนาแอปพลิเคชันเดสก์ท็อปสำหรับ Ubuntu และส่งไปยัง Ubuntu Software Center

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

Score:6
ธง cn

ไม่มีแพลตฟอร์มการพัฒนาหรือการตั้งค่า "อย่างเป็นทางการ" สำหรับ Ubuntu. ใช้สิ่งที่ดีที่สุดสำหรับคุณ หากคุณตั้งชื่อภาษาโปรแกรมทั่วไปหรือ IDE แสดงว่ามีคนพัฒนาสำหรับ Linux โดยใช้ภาษานั้น ใช้แพลตฟอร์มหรือการตั้งค่าที่คุณต้องการ แม้ว่าคุณอาจพบว่าการพัฒนาแอปพลิเคชัน hello-world แรกของคุณบน Ubuntu ทำให้ซอฟต์แวร์ของคุณทดสอบได้ง่ายขึ้น

มีสองวิธีในการรวมแพ็คเกจซอฟต์แวร์ของคุณและส่งไปยังที่เก็บซอฟต์แวร์ Ubuntu: แพ็คเกจ Deb และแพ็คเกจ Snap หากคุณไม่แน่ใจว่าจะเลือกตัวใด ให้ลองใช้ทั้งสองอย่าง

แพ็คเกจ Deb ใช้มาตรฐานที่ประกาศใช้โดย Debian เก่ากว่าและซับซ้อนกว่า Snaps แต่ดูแลรักษาง่ายและไม่มีวูดูกล่องดำ แพ็คเกจ Debian ใช้การพึ่งพาร่วมกันทั่วทั้งระบบการติดตั้ง ดังนั้นแพ็คเกจจะต้องสร้างใหม่สำหรับรีลีสใหม่...แต่ Debian build farm ทำได้. คุณร่วมสร้างโค้ดที่สามารถสร้างได้ของคุณให้กับ Debian และแพ็คเกจหาทางดาวน์สตรีมไปยัง distros ที่ใช้ Debian อย่างน่าอัศจรรย์ รวมถึง Ubuntu รุ่นต่อไปในอนาคต

สแน็ปแพ็คเกจ ใหม่กว่า ข้ามแพลตฟอร์ม โดยทั่วไปปลอดภัยกว่า และมีการกำหนดค่าภายในที่ซับซ้อนกว่า Snaps มีการขึ้นต่อกันทั้งหมด ดังนั้นจึงมักจะมีขนาดแพ็คเกจที่ใหญ่กว่า คุณเรียกใช้แอปพลิเคชันวิเศษของ Snapcraft ที่ทำการบรรจุและอัปโหลด หลังจากที่ Snap ของคุณได้รับการอนุมัติจาก Mighty Guardians Of The Snap Store แล้ว Snap นั้นจะปรากฏในซอฟต์แวร์ Ubuntu ทันที คุณสามารถอัปเดต Snaps (โดยคุณ) ได้ตลอดเวลา และการอัปเดตเหล่านั้นไม่มีความสัมพันธ์กับการอัปเดตระบบพื้นฐาน (เนื่องจากไม่มีการแชร์การอ้างอิง)

Nate T avatar
it flag
ฉันไม่ทราบว่าแพ็คเกจ snap ไม่ได้อยู่ในรูปแบบ .deb สมเหตุสมผลแล้ว เนื่องจากพวกเขามีแพ็คเกจเป็นของตนเอง ระบบ. หากพวกเขารู้ว่าพวกเขาไม่ได้ไปในเส้นทาง dpkg เหตุใดจึงต้องพยายามพัฒนาตัวเองให้เป็นรูปแบบอื่น ฉันเดาว่าฉันน่าจะรู้อยู่แล้ว เพราะ Snap มีให้สำหรับ distros ที่ไม่ใช่เดเบียนจำนวนมาก ฉันเดาว่าฉันไม่เคยทำคณิตศาสตร์
Score:5
ธง it

~Tl;ดร~

หากแอพของคุณได้รับการยอมรับ / เพิ่มโดย Snap คุณสามารถพิมพ์:

sudo snap install --options myappname

...เพื่อติดตั้งแอปของคุณ แอปจะอยู่ใน "Snap store/Software Center" พวกเขาเป็นหนึ่งเดียวกัน

~รายละเอียด~

ในการเพิ่มแอปพลิเคชันไปยังศูนย์ซอฟต์แวร์นั้นจำเป็นต้องเป็นแพ็คเกจ .deb ก่อนอื่น เพื่อให้สามารถติดตั้งใน Ubuntu OS ได้อย่างเหมาะสม จะต้องเป็นแพ็คเกจ Debian ฉันเชื่อว่าสิ่งนี้ทำได้ในไม่กี่ขั้นตอน ขั้นตอนแรกเกี่ยวข้องกับเครื่องมืออัตโนมัติ

มาตรฐานนี้อยู่ภายใต้การดูแลของ GNU นี้ คู่มือจะบอกทุกสิ่งที่คุณจำเป็นต้องรู้

สำหรับการนำแพ็คเกจ .deb ของคุณไปที่ "Software Center" สิ่งสำคัญคือการรู้ก่อนว่าสำหรับ Ubuntu สองสามเวอร์ชันล่าสุด "Software Center" เป็นเพียงส่วนหน้าของ snap storeทุกแอปที่คุณดาวน์โหลดมาในพริบตา

ดังนั้นข้อมูลที่คุณต้องค้นหาคือ "วิธีรับแอปของฉันในพริบตา" ที่นี่ เป็นทรัพยากรที่ดีในเรื่อง

สำหรับภาษาที่คุณต้องเขียนนั้นไม่สำคัญ อย่างน้อยก็ในบริบทนี้ ส่วนใหญ่เขียนแบบดั้งเดิมด้วยภาษา C แต่ใคร ๆ ก็สามารถหาแพ็คเกจที่มีคอมโบภายใต้ดวงอาทิตย์ได้

แน่นอน แพ็คเกจจะต้องสามารถรันได้ในสภาพแวดล้อมเป้าหมาย แต่แพ็คเกจเป็นคอนเทนเนอร์ประเภทหนึ่ง ดังนั้นคุณสามารถรวมสภาพแวดล้อมของคุณเองไว้ข้างในได้

หากคุณสร้างด้วย Python ทำไมไม่ลองสร้างสภาพแวดล้อมเสมือนและแพ็คสิ่งที่น่ารังเกียจทั้งหมดล่ะ ด้วยวิธีนี้มันจะทำงานบนล่ามเดียวกันในแต่ละครั้ง เช่นเดียวกับ Java และ JVM, C/C++ และ GCC เป็นต้น

คุณยังรวมการพึ่งพาที่แอปของคุณต้องการ ซึ่งรวมถึงไม่เพียงแค่การพึ่งพารันไทม์เท่านั้น แต่ยังรวมถึงตัวติดตั้ง ฯลฯ ด้วย สิ่งเหล่านี้มักจะเป็นเพียงสคริปต์ Bash แต่อีกครั้ง ภาษาไม่สำคัญ

จริงๆ แล้ว สิ่งที่อยู่ภายในแพ็คเกจนั้นเป็นมาตรฐาน (คุณจะต้องมีใบอนุญาตโอเพ่นซอร์สบางประเภท ฯลฯ) แต่ระบบเดเบียนทั้งหมดที่เกี่ยวข้องคืออินเทอร์เฟซ Dpkg จำเป็นต้องรู้ว่าเกิดอะไรขึ้นในขณะติดตั้ง ตราบใดที่ยังได้รับคำแนะนำที่เข้าใจได้ชัดเจน เพื่อให้รู้ว่าควรวางทุกสิ่งไว้ที่ใด และผลลัพธ์ที่ได้คือระบบของแอปที่ทำงานตามที่ผู้ใช้คาดหวัง คุณก็จะมีแพ็คเกจ .deb ที่ถูกต้อง

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

แก้ไข

ฉันเพิ่งพบแหล่งข้อมูลบางอย่างบน Github ซึ่งทำให้กระบวนการสร้างและเผยแพร่สำหรับ snaps เป็นไปโดยอัตโนมัติ ทั้งคู่เป็นการกระทำ GitHub ที่ดูแลโดย Snapcraft ด้วยการผสมผสานสิ่งเหล่านี้ แอปพลิเคชันที่เข้ากันได้สามารถเปลี่ยนเป็นสแน็ปเผยแพร่ได้

พวกเขาตั้งอยู่ ที่นี่ (ตัวสร้าง snap) และ ที่นี่ (สำนักพิมพ์สแนป).

Mj Dev avatar
kr flag
ฉันจะพยายามและกลับมาอีกแน่นอน ขอขอบคุณ
Mj Dev avatar
kr flag
มันใช้งานได้เหมือนมีเสน่ห์จริงๆ ขอบคุณค่ะ
Score:0
ธง in

ฉันคิดว่าคุณสามารถสร้างแอปพลิเคชันเดสก์ท็อป GUI บน ubuntu และระบบปฏิบัติการที่ใช้ linux อื่น ๆ ได้อย่างง่ายดายด้วย qt ide มันเข้าถึงได้และเป็นมิตรกับผู้ใช้ด้วยเครื่องมือที่ยอดเยี่ยมในการออกแบบซอฟต์แวร์ linux gui

Mj Dev avatar
kr flag
ที่จริงฉันลองแล้ว แต่ขอฉันลองอีกครั้ง ขอขอบคุณ

โพสต์คำตอบ

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