Šajā rakstā tiks uzskaitītas galvenās atšķirības starp šiem trim iepakojuma formātiem no tiešā lietotāja viedokļa. Šeit netiks aplūkotas atšķirības iepakojuma arhitektūrā un iepakojuma vienkāršība no izstrādātāju viedokļa.
Zemāk esošajā tabulā ir apkopotas galvenās atšķirības starp Snap, Flatpak un AppImage failu formātiem. Lielākā daļa no tiem ir pašsaprotami, citi punkti ir paskaidroti zem salīdzināšanas tabulas.
Snap | Flatpak | AppImage | |
Android, piemēram, atļauju kontrole pārslēdzas (GUI un CLI) | Jā | Jā | Nē |
Smilšu kastes atbalsts | Jā | Jā | Jā |
Obligāts smilšu bokss | Jā | Jā | Nē |
Vietējo tēmu atbalsts | Jā (ar iebildumiem) | Jā (ar iebildumiem) | Jā (ar iebildumiem) |
Atbalsts komplektētajām bibliotēkām | Jā | Jā | Jā |
Lietotnes pārnesamība | Jā (ar iebildumiem) | Jā (ar iebildumiem) | Jā |
Pilnībā ietverts viens izpildāms atbalsts (līdzīgs .exe faili logos) | Nē | Nē | Jā |
Tiešsaistes App Store | Jā | Jā | Jā |
Spraudņi darbvirsmas App Store programmatūrai | Jā | Jā | Nē |
Vairāku versiju paralēlu lietotņu atbalsts | Jā | Jā | Jā |
Automātiski atjauninājumi | Jā | Jā | Jā (ar iebildumiem) |
Chrome OS atbalsts (izmantojot Crostini konteinerus) | Jā | Jā | Jā |
Lietotnes lielums | Atšķiras, bet ir augstāka nekā AppImage | Atšķiras, bet ir augstāka nekā AppImage | Zemākais |
Lietotņu skaits, kas pieejamas App Store | Augstākais | Zemākais | Kaut kur pa vidu |
Atļauju kontrole lietotājiem
Snap nodrošina gan grafiskas, gan komandrindas saskarnes lietotāju kontrolētām atļaujām. Varat izmantot iepriekš instalētu lietotni “Ubuntu Software”, lai pārvaldītu papildprogrammas atļaujas.
Lai skatītu papildprogrammas atļaujas, izmantojot komandrindas saskarni, palaidiet zemāk esošo komandu:
$ snap savienojumi hromsAizstājiet “hroms” ar savas snap lietotnes nosaukumu.
Lai skatītu visu instalēto papildprogrammu sarakstu, palaidiet zemāk esošo komandu:
$ snap sarakstsLai piešķirtu kameras atļauju hroma fiksēšanai, izmantojiet tālāk norādīto komandu:
$ snap connect hroms: kameraLai atsauktu kameras atļauju, izpildiet tālāk norādīto komandu:
$ snap atvienojiet hromu: kameraAtļauju pārvaldībai piemērotas komandas var atrast kolonnā “Spraudnis” (parādīts iepriekš redzamajā ekrānuzņēmumā).
Flatpak nodrošina arī saskarni atļauju piešķiršanai un atsaukšanai. Jūs varat izmantot GNOME programmatūras lietotni (nepieciešama GNOME 3.32.x) pārvaldīt atļaujas, izmantojot grafisko metodi. Lai skatītu Flatpak lietotnes atļaujas, palaidiet zemāk esošo komandu:
$ flatpak info - show-permissions org.kde.Platforma
Aizstāt “org.kde.Platforma ”ar jūsu Flatpak lietotnes nosaukumu.
Lai skatītu visu jūsu sistēmā instalēto Flatpak lietojumprogrammu sarakstu, palaidiet zemāk esošo komandu:
$ flatpak sarakstsLai mainītu Flatpak lietotnes atļaujas, jums ir jāmaina mainīgo lielumi, kas parādīti iepriekš redzamajā ekrānuzņēmumā. Piemēram, zemāk esošā komanda padarīs visu failu sistēmu pieejamu flappak lietotnei:
$ sudo flatpak ignorē org.kde.Platforma - failu sistēma = resursdatorsAppImage pašlaik neatbalsta detalizētas atļauju vadīklas, taču izstrādātāji ir devuši mājienu, ka Android stila atļauju vadīklas var tikt ieviestas nākotnē.
Smilšu bokss
Snap, Flatpak un AppImage atbalsta smilškastes lietotņu vides ārpus kastes. Smilšu kaste ir vide (vai konteiners / failu sistēma / arhīvs), kas ir pilnībā izolēta un attālināta no resursdatora sistēmas. Jebkura mijiedarbība ar resursdatora sistēmu tiek veikta, izmantojot ierobežotu API un atļauju kontroli. Dažām no šīm atļaujām nepārprotami ir jāpiedalās lietotājiem, vai galalietotāji tās var pilnībā atspējot. Smilškastes lietotne ir droša nekā jebkura cita lietotne, kurai ir pilna piekļuve resursdatora sistēmai. Visas Android lietotnes darbojas smilšu kastē, un šie trīs iepakojuma formāti darbojas līdzīgi.
Vietējo tēmu atbalsts
Visi trīs iepakojuma formāti atbalsta vietējo GTK un Qt lietotņu izskatu, kaut arī ar dažiem ierobežojumiem. Piemēram, Snap un Flatpak pieprasa, lai sistēmas tēmas būtu iepakotas attiecīgajos formātos. Ja izmantojat trešo pušu motīvus un ikonu pakotnes, iespējams, nederēsiet pareizas motīvu, kursora un lietotņu ikonas. Integrācija ir uzlabojusi virsstundas, taču tām nedaudz pietrūkst salīdzinājumā ar lietotnēm, kas instalētas no izplatīšanas oficiālā pakotņu pārvaldnieka.
Lietotnes pārnesamība
AppImage lietotne ir viens izpildāms fails (līdzīgs Windows .exe faili). Jūs to varat viegli kopīgot starp sistēmām vai augšupielādēt mākonī. Snap un Flatpak lietotnes var padarīt pārnēsājamas, iekļaujot pašu lietotni, kā arī bērnu krātuves, no kurām lietotne ir atkarīga. Tomēr process nav tik vienkāršs kā AppImage, un, lai sasniegtu tādus pašus rezultātus, ir nepieciešams izmantot vairākas komandas.
Automātiski atjauninājumi
Snap un Flatpak lietotnes tiek instalētas no centralizētām lietojumprogrammu krātuvēm, un lietotnes var automātiski atjaunināt bez lietotāja iejaukšanās. AppImage trūkst spēcīga automātiskās atjaunināšanas mehānisma. Lai instalētu atjauninājumus, lietotājiem ir manuāli jāielādē jauns binārs AppImage un jāaizstāj esošais. AppImage lietotņu uzturētāji dažreiz iekļauj savu atjaunināšanas mehānismu, kas periodiski pārbauda atjauninājumu pieejamību savos serveros vai prasa lietotāja iejaukšanos. Nesen AppImage izstrādātāji nodrošināja rīku, lai atjauninātu esošos bināros failus, nodrošinot delta atjauninājumus. Tomēr tam joprojām ir nepieciešams lejupielādēt atjaunināšanas rīku un manuāli to izmantot ar esošu bināro AppImage. Lietotnei AppImage vēl nav pieejams brīvroku atjaunināšanas mehānisms.
Lietotnes lielums
AppImage ir mazākais lietotnes izmēra nospiedums, iespējams, tāpēc, ka tas bināros failus apkalpo saspiestā formātā. Snap un Flatpak lietotņu izmēri dažādās lietotnēs ir ļoti atšķirīgi, un ir grūti noteikt, kurš nodrošina mazāku instalācijas lielumu. Tikai atsaucei - Inkscape AppImage šī raksta tapšanas brīdī bija aptuveni 98 MB, Snap bija aptuveni 183 MB un Flatpak - aptuveni 109 MB.
Secinājums
Universālās lietotņu paketes ir izdevīgas gan izstrādātājiem, gan galalietotājiem. Šie iepakojuma formāti ļauj daudz ātrāk piegādāt drošas lietotnes. Viņi arī paver durvis izstrādātājiem, kuri ir izvairījušies no Linux atšķirīgo iepakojuma standartu dēļ, ko izmanto dažādos izplatījumos. Šajos trīs iepakojuma formātos ir jāatceļ daži jautājumi. Tomēr tie visi tiek aktīvi attīstīti, un šie jautājumi tiks fiksēti virsstundas. Universālās savstarpējās izplatīšanas paketes ir nākotne, un to pieņemšana palielināsies. Lēnām, bet vienmērīgi, izplatījumi nākotnē var pāriet uz Snap, Flatpak vai AppImage būvējumiem, izņemot pamata bibliotēkas un būtiskas pakotnes, kas nepieciešamas OS darbībai.