Ta članek bo našel glavne razlike med temi tremi oblikami embalaže z vidika končnih uporabnikov. Razlike v arhitekturi embalaže in enostavnosti embalaže z vidika razvijalcev tukaj ne bodo obravnavane.
Spodnja tabela povzema glavne razlike med formati datotek Snap, Flatpak in AppImage. Večina jih je samoumevnih, druge točke so pojasnjene pod primerjalno tabelo.
Snap | Flatpak | AppImage | |
Vklop in izklop kontrolnikov za nadzor dovoljenj za Android (GUI in CLI) | Da | Da | Ne |
Podpora peskovniku | Da | Da | Da |
Peskanje v pesku Obvezno | Da | Da | Ne |
Podpora izvorni temi | Da (z opozorili) | Da (z opozorili) | Da (z opozorili) |
Podpora knjižnicam v paketu | Da | Da | Da |
Prenosljivost aplikacije | Da (z opozorili) | Da (z opozorili) | Da |
Popolnoma vsebovana ena izvršljiva podpora (podobno kot .exe datoteke v oknih) | Ne | Ne | Da |
Spletna trgovina z aplikacijami | Da | Da | Da |
Vtičniki za namizno programsko opremo App Store | Da | Da | Ne |
Podpora za več različic vzporednih aplikacij | Da | Da | Da |
Samodejne posodobitve | Da | Da | Da (z opozorili) |
Podpora za Chrome OS (prek posod Crostini) | Da | Da | Da |
Velikost aplikacije | Se razlikuje, vendar višje od AppImage | Se razlikuje, vendar višje od AppImage | Najnižje |
Število aplikacij, ki so na voljo v trgovini App Store | Najvišje | Najnižje | Nekje vmes |
Nadzor dovoljenj za uporabnike
Snap ponuja grafični vmesnik in vmesnike ukazne vrstice za uporabniško nadzorovana dovoljenja. Z vnaprej nameščeno aplikacijo »Ubuntu Software« lahko upravljate dovoljenja za snap aplikacijo.
Če si želite ogledati dovoljenja za snap aplikacijo z uporabo vmesnika ukazne vrstice, zaženite spodnji ukaz:
$ snap povezave kromZamenjajte »chromium« z imenom vaše namestitvene aplikacije.
Če si želite ogledati seznam vseh nameščenih hitrih aplikacij, zaženite spodnji ukaz:
$ snap seznamČe želite fotoaparatu odobriti kromirano posnetke, uporabite spodnji ukaz:
$ snap connect krom: kameraČe želite preklicati dovoljenje kamere, zaženite spodnji ukaz:
$ snap odklopi krom: kameraUstrezne ukaze za upravljanje dovoljenj najdete v stolpcu “Plug” (prikazano na zgornjem posnetku zaslona).
Flatpak ponuja tudi vmesnik za dodelitev in preklic dovoljenj. Uporabite lahko aplikacijo GNOME Software (zahteva GNOME 3.32.x) za upravljanje dovoljenj z uporabo grafične metode. Če si želite ogledati dovoljenja za aplikacijo flatpak, zaženite spodnji ukaz:
$ flatpak info --show-permissions org.kde.Platforma
Zamenjajte „org.kde.Platforma «z imenom vaše aplikacije Flatpak.
Če si želite ogledati seznam vseh programov flatpak, nameščenih v vašem sistemu, zaženite spodnji ukaz:
$ flatpak seznamČe želite spremeniti dovoljenja za aplikacijo flatpak, morate spremeniti vrednosti spremenljivk, prikazanih na zgornjem posnetku zaslona. Na primer s spodnjim ukazom bo celotni datotečni sistem na voljo aplikaciji flappak:
$ sudo flatpak preglasi org.kde.Platforma --filesystem = gostiteljAppImage od zdaj ne podpira podrobnega nadzora dovoljenj, vendar so razvijalci namignili, da bodo v prihodnosti lahko uporabljeni kontrolniki za dovoljenja v slogu Android.
Peskanje
Snap, Flatpak in AppImage podpirajo okolja aplikacij v zaprtih pogojih. Peskovnik je okolje (ali vsebnik / datotečni sistem / arhiv), ki je popolnoma izolirano in oddaljeno od gostiteljskega sistema. Vsaka interakcija z gostiteljskim sistemom se izvaja z uporabo omejenega API-ja in kontrolnikov dovoljenj. Nekatera od teh dovoljenj izrecno zahtevajo prijavo uporabnikov ali pa jih lahko končni uporabniki popolnoma onemogočijo. Aplikacija v peskovniku je varna kot katera koli druga aplikacija, ki ima popoln dostop do gostiteljskega sistema. Vse aplikacije za Android se izvajajo v peskovniku in te tri oblike embalaže delujejo na podoben način.
Podpora izvorni temi
Vsi trije formati embalaže podpirajo naravni videz in občutek za aplikacije GTK in Qt, čeprav z nekaterimi omejitvami. Na primer, Snap in Flatpak zahtevata, da so sistemske teme zapakirane v njihove ustrezne formate. Če uporabljate pakete tem in ikon drugih proizvajalcev, morda ne boste dobili pravilnih ikon teme, kazalca in aplikacij. Integracija se je sčasoma izboljšala, vendar nekoliko zaostaja v primerjavi z aplikacijami, nameščenimi iz uradnega upravitelja paketov distribucije.
Prenosljivost aplikacije
Aplikacija AppImage je ena izvršljiva datoteka (podobno kot Windows ' .datoteke exe). Lahko ga preprosto delite med sistemi ali naložite v oblak. Aplikacije Snap in Flatpak lahko naredite prenosne, tako da vključite samo aplikacijo ter podrejene repozitorije, od katerih je aplikacija odvisna. Vendar postopek ni tako enostaven kot AppImage in za doseganje enakih rezultatov zahteva uporabo več ukazov.
Samodejne posodobitve
Aplikacije Snap in Flatpak se namestijo iz centraliziranih skladišč aplikacij, aplikacije pa se lahko samodejno posodabljajo brez posredovanja uporabnika. AppImage nima močnega mehanizma samodejnega posodabljanja. Uporabniki morajo za namestitev posodobitev ročno prenesti nov binarni program AppImage in zamenjati obstoječega. Vzdrževalci aplikacij AppImage včasih vključujejo lasten mehanizem posodabljanja, ki redno preverja razpoložljivost posodobitev na njihovih strežnikih ali zahteva posredovanje uporabnika. Pred kratkim so razvijalci AppImage ponudili orodje za posodobitev obstoječih binarnih datotek z zagotavljanjem delta posodobitev. Vendar še vedno zahteva prenos orodja za posodobitev in ročno uporabo z obstoječim binarnim programom AppImage. Za AppImage še ni na voljo mehanizma za prostoročno posodabljanje.
Velikost aplikacije
AppImage ima najnižji odtis aplikacije, najverjetneje zato, ker streže binarne datoteke v stisnjeni obliki. Velikosti aplikacij Snap in Flatpak se zelo razlikujejo od aplikacije do aplikacije in težko je ugotoviti, katera zagotavlja manjšo velikost namestitve. Samo za referenco, Inkscape AppImage je v času pisanja tega članka znašal približno 98 MB, Snap okoli 183 MB in Flatpak približno 109 MB.
Zaključek
Univerzalni paketi aplikacij so koristni tako za razvijalce kot za končne uporabnike. Ti formati embalaže omogočajo veliko hitrejšo dostavo varnih aplikacij. Odpirajo vrata tudi razvijalcem, ki se izogibajo Linuxu zaradi različnih standardov embalaže, ki se uporabljajo v različnih distribucijah. V teh treh oblikah embalaže je treba odpraviti nekaj težav. Vendar so vsi v aktivnem razvoju in bodo te težave odpravljene nadure. Univerzalni paketi za večkratno distribucijo so prihodnost in njihovo sprejemanje se bo povečalo. Počasi, a vztrajno se lahko distribucije v prihodnosti preselijo v zgradbe Snap, Flatpak ali AppImage, razen osnovnih knjižnic in bistvenih paketov, ki so potrebni za delovanje OS.