Selles artiklis loetletakse nende kolme pakendivormingu peamised erinevused lõppkasutajate vaatenurgast. Pakendiarhitektuuri erinevusi ja pakendamise lihtsust arendajate seisukohast siin ei käsitleta.
Allolevas tabelis on kokku võetud peamised erinevused Snapi, Flatpaki ja AppImage'i failivormingute vahel. Enamik neist on iseenesestmõistetavad, muid punkte on selgitatud võrdlustabeli all.
Klõps | Flatpak | AppImage | |
Androidi nagu lubade juhtimine lülitab sisse (GUI ja CLI) | Jah | Jah | Ei |
Liivakasti tugi | Jah | Jah | Jah |
Liivakast kohustuslik | Jah | Jah | Ei |
Kohaliku teema tugi | Jah (hoiatustega) | Jah (hoiatustega) | Jah (hoiatustega) |
Toetus komplektraamatukogudele | Jah | Jah | Jah |
Rakenduse teisaldatavus | Jah (hoiatustega) | Jah (hoiatustega) | Jah |
Täielikult sisalduv üks teostatav tugi (sarnane versioonile .exe-failid akendes) | Ei | Ei | Jah |
Veebipõhine App Store | Jah | Jah | Jah |
Töölaua App Store tarkvara pistikprogrammid | Jah | Jah | Ei |
Mitme versiooni paralleelrakenduste tugi | Jah | Jah | Jah |
Automaatsed värskendused | Jah | Jah | Jah (hoiatustega) |
Chrome OS-i tugi (Crostini konteinerite kaudu) | Jah | Jah | Jah |
Rakenduse suurus | Varieerub, kuid kõrgem kui AppImage | Varieerub, kuid kõrgem kui AppImage | Madalaim |
App Store'is saadaval olevate rakenduste arv | Kõrgeim | Madalaim | Kuskil vahepeal |
Kasutajate lubade juhtelemendid
Snap pakub nii graafilisi kui ka käsurea liideseid kasutaja kontrollitavate õiguste jaoks. Kiirrakenduse lubade haldamiseks saate kasutada eelinstallitud rakendust „Ubuntu Software”.
Kiirrakenduse lubade nägemiseks käsurea liidese abil käivitage järgmine käsk:
$ snap ühendused kroomAsendage kroom oma lisarakenduse nimega.
Kõigi installitud kiirrakenduste loendi kuvamiseks käivitage allolev käsk:
$ snapi loendKaamera lubamiseks kroomi klõpsamiseks kasutage allolevat käsku:
$ snap connect kroom: kaameraKaamera loa tühistamiseks käivitage järgmine käsk:
$ snap katkestage kroom: kaameraSobivad käsud õiguste haldamiseks leiate veerust „Ühenda” (näidatud ülaltoodud ekraanipildil).
Flatpak pakub ka liidest lubade andmiseks ja tühistamiseks. Võite kasutada GNOME tarkvararakendust (vajab GNOME 3.32.x) õiguste haldamiseks graafilise meetodi abil. Flatpaki rakenduse lubade nägemiseks käivitage järgmine käsk:
$ flatpak info - show-permissions org.kde.Platvorm
Asenda “org.kde.Platvorm ”oma Flatpaki rakenduse nimega.
Kõigi teie süsteemi installitud Flatpaki rakenduste loendi kuvamiseks käivitage järgmine käsk:
$ flatpaki loendFlatpaki rakenduse lubade muutmiseks peate muutma ülaltoodud ekraanipildil näidatud muutujate väärtusi. Näiteks teeb järgmine käsk kogu failisüsteemi flappaki rakendusele kättesaadavaks:
$ sudo flatpak alistab organisatsiooni.kde.Platvorm - failisüsteem = hostAppImage ei toeta üksikasjalikke lubade juhtimisseadmeid praegu, kuid arendajad on vihjanud, et Androidi stiili lubade juhtimist võidakse tulevikus rakendada.
Liivakast
Snap, Flatpak ja AppImage toetavad liivakastiga rakenduste keskkondi karbist välja. Liivakast on keskkond (või konteiner / failisüsteem / arhiiv), mis on hosti süsteemist täielikult eraldatud ja eemal. Mis tahes suhtlus hostisüsteemiga toimub piiratud API ja õiguste juhtimise abil. Mõni neist õigustest nõuab selgesõnaliselt kasutajate osalemist või saab lõppkasutajad selle täielikult keelata. Liivakasti rakendus on turvaline kui ükski teine rakendus, millel on täielik juurdepääs hostisüsteemile. Kõik Androidi rakendused töötavad liivakastis ja need kolm pakendivormingut töötavad sarnase idee järgi.
Kohaliku teema tugi
Kõik kolm pakendivormingut toetavad GTK ja Qt rakenduste loomulikku ilmet ja tunnet, ehkki teatud piirangutega. Näiteks nõuavad Snap ja Flatpak, et süsteemiteemad oleksid pakitud vastavas vormingus. Kui kasutate kolmanda osapoole teemasid ja ikoonipakette, ei pruugi te saada õigeid teema, kursori ja rakenduse ikoone. Integreerimine on ületunde parandanud, kuid need jäävad veidi alla levitamise ametlikust paketihaldurist installitud rakendustega.
Rakenduse teisaldatavus
AppImage'i rakendus on üks käivitatav fail (sarnane Windowsi .exe-failid). Saate seda hõlpsasti süsteemide vahel jagada või pilve üles laadida. Snapi ja Flatpaki rakendusi saab kaasaskantavaks muuta, lisades rakenduse enda, samuti lastehoidlad, millest rakendus sõltub. Protsess pole aga nii lihtne kui AppImage ja nõuab samade tulemuste saavutamiseks mitme käsu kasutamist.
Automaatsed värskendused
Rakendused Snap ja Flatpak installitakse tsentraliseeritud rakenduste hoidlatest ning rakendusi saab kasutaja sekkumiseta automaatselt värskendada. AppImage'il puudub kindel automaatne värskendusmehhanism. Kasutajad peavad värskenduste installimiseks uue AppImage binaarkaua käsitsi alla laadima ja olemasoleva asendama. AppImage'i rakenduse hooldajad sisaldavad mõnikord oma värskendusmehhanismi, mis kontrollib perioodiliselt värskenduste kättesaadavust oma serverites või nõuab kasutaja sekkumist. Hiljuti pakkusid AppImage'i arendajad tööriista olemasolevate kahendfailide värskendamiseks, pakkudes delta värskendusi. Kuid see nõuab ikkagi värskendustööriista allalaadimist ja käsitsi kasutamist olemasoleva binaarse AppImage'iga. Rakenduse AppImage jaoks pole veel käed-vabad värskendusmehhanismi saadaval.
Rakenduse suurus
AppImage'il on rakenduse suuruse jalajälg kõige väiksem, tõenäoliselt seetõttu, et see teenindab binaarfaile tihendatud vormingus. Rakenduse Snap ja Flatpak suurused on rakenduste kaupa väga erinevad ning väiksemat installimahtu pakkuvat on raske kindlaks teha. Lihtsalt viitamiseks oli Inkscape AppImage selle artikli kirjutamise ajal umbes 98 MB, Snap umbes 183 MB ja Flatpak umbes 109 MB.
Järeldus
Universaalsed rakenduspaketid on nii arendajatele kui ka lõppkasutajatele kasulik olukord. Need pakendiformaadid võimaldavad turvaliste rakenduste edastamist palju kiiremini. Nad avavad uksi ka arendajatele, kes on Linuxis eemale hoidnud erinevates jaotustes kasutatavate erinevate pakendistandardite tõttu. Nendes kolmes pakendivormingus tuleb lahendada mõned probleemid. Kuid neid kõiki arendatakse aktiivselt ja need probleemid fikseeritakse ületunnitööga. Universaalsed ristjaotuspaketid on tulevik ja nende vastuvõtmine suureneb. Aeglaselt, kuid kindlalt võivad levitamised tulevikus liikuda Snapi, Flatpaki või AppImage'i järkudesse, välja arvatud tuumkogud ja hädavajalikud paketid, mis on vajalikud operatsioonisüsteemi töötamiseks.