Puncte:5

Cum se creează aplicații desktop pentru Ubuntu Software Center?

drapel kr

Vreau să dezvolt aplicații desktop pentru Ubuntu și să le împing la Centrul de software Ubuntu.

Am căutat pe tot internetul, dar nu am găsit niciun articol sau blog potrivit pe acest subiect. M-am gândit să folosesc „rapid”, dar se pare că acest pachet este depreciat. Poate cineva să-mi sugereze, vă rog, ce platformă ar trebui să folosesc și configurația de care am nevoie? Mulțumesc anticipat.

Puncte:6
drapel cn

Nu există o platformă de dezvoltare sau o configurație „oficială” pentru Ubuntu. Folosește ceea ce funcționează cel mai bine pentru tine. Dacă numiți un limbaj de programare comun sau IDE, cineva dezvoltă pentru Linux folosindu-l. Utilizați orice platformă sau configurație care vă place, deși este posibil să descoperiți că dezvoltarea primei aplicații hello-world pe Ubuntu face software-ul mai ușor de testat.

Există două moduri de a vă împacheta software-ul și de a-l împinge în depozitul de software Ubuntu: pachete Deb și pachete Snap. Dacă nu sunteți sigur pe care să alegeți, atunci încercați pe ambele.

Pachete deb utilizați un standard promulgat de Debian. Este mai vechi și mai complex decât Snaps-urile, dar ușor de întreținut și nu are vreun voodoo negru. Pachetele Debian au dependențe comune în sistemul de instalare, așa că pachetul trebuie reconstruit pentru versiunile noi...dar fermele de construcție Debian fac asta. Contribuiți cu codul dvs. de compilat la Debian, iar pachetele își găsesc în mod magic drumul în aval către toate distribuțiile bazate pe Debian, inclusiv o viitoare lansare a Ubuntu.

Snap pachete sunt mai noi, multi-platformă, în general mai sigure și au o configurație internă mai complexă. Snaps-urile includ toate dependențele, așa că tind să aibă pachete de dimensiuni mai mari. Rulați aplicația magică Snapcraft care face ambalarea și încărcarea. După ce Snap-ul dvs. este aprobat de către Mighty Guardians Of The Snap Store, acesta apare imediat în Ubuntu Software. Snaps-urile pot fi actualizate (de dvs.) în orice moment, iar aceste actualizări nu au nicio legătură cu actualizările de sistem subiacente (deoarece nu sunt partajate dependențe).

Nate T avatar
drapel it
Nu mi-am dat seama că pachetele snap nu erau în format .deb. Are sens, totuși, deoarece au propria lor gestionare a pachetelor. sistem. Dacă știau că nu merg pe calea dpkg, de ce să se închidă încercând să dezvolte în formatul altcuiva. Cred că ar fi trebuit să știu, având în vedere că Snap este disponibil pentru o mulțime de distribuții non-Debian; Cred că nu am făcut niciodată calculele.
Puncte:5
drapel it

~Tl;dr~

Dacă aplicația dvs. este acceptată / adăugată de Snap, adică puteți tasta:

sudo snap install --options myappname

...pentru a vă instala aplicația, aceasta va fi în „Snap store/Software Center”. Sunt una și aceeași.

~Detaliu~

Pentru a adăuga o aplicație la centrele software, trebuie să fie mai întâi un pachet .deb. Pentru ca acesta să fie instalat corect în sistemul de operare Ubuntu, trebuie să fie un pachet Debian. Cred că acest lucru se face în câțiva pași, primul dintre care implică unelte automate.

Standardul este supravegheat de GNU. Acest ghidul vă va spune tot ce trebuie să știți.

În ceea ce privește trimiterea pachetului dvs. .deb la „Centrul de software”, cheia este mai întâi să știți că, pentru ultimele versiuni de Ubuntu, „Centrul de software” este doar o fațadă pentru magazinul snap.Fiecare aplicație pe care o descărcați de acolo este rapidă.

Așadar, informațiile pe care trebuie să le cauți sunt „cum să obțin aplicația mea în scurt timp”. Aici este o resursă grozavă pe acest subiect.

Cât despre limba cu care trebuie să o scrii, nu prea contează, cel puțin în acest context. Majoritatea au scris în mod tradițional în C, dar probabil s-ar putea găsi un pachet care să conțină orice combo sub soare.

Sigur, pachetul va trebui să poată fi rulat în mediul țintă, dar un pachet este un fel de container, așa că puteți include doar propriul mediu în interiorul acestuia.

Dacă construiți cu Python, de ce să nu construiți într-un mediu virtual și să împachetați totul? În acest fel, rulează de fiecare dată pe același interpret. La fel cu Java și JVM, C/C++ și GCC, etc.

De asemenea, includeți orice dependențe de care are nevoie aplicația dvs. Aceasta include nu numai dependențele de rulare, ci și instalatorii etc. Acestea sunt de obicei doar scripturi Bash, dar din nou, limbajul nu contează.

Sincer, ceea ce este în interiorul pachetului este standardizat (veți avea nevoie de un anumit tip de licență open-source etc.), dar tot ceea ce este preocupat de sistemul debian este interfața. Dpkg trebuie să știe ce se întâmplă în momentul instalării. Atâta timp cât i se oferă instrucțiuni clare și ușor de înțeles, astfel încât să știe unde să pună totul, iar rezultatul este un sistem de aplicații care se comportă așa cum se așteaptă utilizatorul, aveți un pachet .deb valid.

Acestea fiind spuse, dacă doriți un pachet Snap valid, vă pot garanta că restricțiile dvs. vor fi puțin mai stricte. Cel mai bine este să urmezi standardele pe care le-am legat de la început.

EDITAȚI | ×

Am găsit recent câteva resurse pe Github care automatizează procesele de construire și publicare pentru snaps. Ambele sunt acțiuni github menținute de Snapcraft. Prin combinarea acestora, orice aplicație compatibilă poate fi transformată într-un snap publicat.

Ele sunt localizate Aici (constructor snap) și Aici (editor snap).

Mj Dev avatar
drapel kr
Cu siguranță voi încerca și revin. Mulțumesc
Mj Dev avatar
drapel kr
Acest lucru chiar funcționează ca un farmec. Multumesc domnule.
Puncte:0
drapel in

Cred că puteți face cu ușurință aplicații desktop GUI pe ubuntu și alte sisteme de operare bazate pe Linux cu qt ide. este o acoperire și ușor de utilizat, cu instrumente excelente pentru a proiecta software-ul Linux gui.

Mj Dev avatar
drapel kr
De fapt, l-am încercat deja, dar lasă-mă să încerc din nou. Mulțumesc

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.