Embalaža

Primerjava Snap vs Flatpak vs AppImage

Primerjava Snap vs Flatpak vs AppImage
Novi formati embalaže, kot so Snap, Flatpak in AppImage, ponujajo agnostične pakete za distribucijo, ki delujejo na večini distribucij Linuxa. To rešuje težave z embalažo, s katerimi se srečujejo razvijalci aplikacij, ki želijo svoje aplikacije distribuirati v več distribucijah Linuxa. Zdaj se lahko osredotočijo na eno zgradbo, ki deluje povsod, namesto da bi šli skozi različne standarde embalaže.

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 krom

Zamenjajte »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: kamera

Ustrezne 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 = gostitelj

AppImage 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.

Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...