V tomto článku sú uvedené hlavné rozdiely medzi týmito tromi formátmi balenia z pohľadu koncových používateľov. Rozdiely v architektúre balenia a jednoduchosť balenia z pohľadu vývojárov tu nebudeme rozoberať.
V nasledujúcej tabuľke sú zhrnuté hlavné rozdiely medzi formátmi súborov Snap, Flatpak a AppImage. Väčšina z nich je samovysvetľujúca, ďalšie body boli vysvetlené pod porovnávacou tabuľkou.
Snap | Flatpak | AppImage | |
Ovládacie prvky povolení ako Android sa prepínajú (GUI a CLI) | Áno | Áno | Nie |
Podpora karantény | Áno | Áno | Áno |
Pieskovisko je povinné | Áno | Áno | Nie |
Natívna podpora tém | Áno (s výhradami) | Áno (s výhradami) | Áno (s výhradami) |
Podpora združených knižníc | Áno | Áno | Áno |
Prenosnosť aplikácií | Áno (s výhradami) | Áno (s výhradami) | Áno |
Plne obsiahnutá podpora jedného spustiteľného súboru (podobná podprocesu) .exe súbory v systéme Windows) | Nie | Nie | Áno |
Online App Store | Áno | Áno | Áno |
Doplnky pre softvér pre stolné počítače | Áno | Áno | Nie |
Podpora viacerých verzií paralelných aplikácií | Áno | Áno | Áno |
Automatické aktualizácie | Áno | Áno | Áno (s výhradami) |
Podpora systému Chrome OS (prostredníctvom kontajnerov Crostini) | Áno | Áno | Áno |
Veľkosť aplikácie | Líši sa, ale je vyššia ako AppImage | Líši sa, ale je vyššia ako AppImage | Najnižšia |
Počet aplikácií dostupných v App Store | Najvyšší | Najnižšia | Niekde medzi tým |
Kontroly povolení pre používateľov
Aplikácia Snap poskytuje užívateľsky ovládané povolenia ako grafické rozhranie, tak aj rozhranie príkazového riadku. Môžete použiť predinštalovanú aplikáciu „Ubuntu Software“ na správu povolení okamžitej aplikácie.
Ak chcete zobraziť povolenia prichytávacej aplikácie pomocou rozhrania príkazového riadku, spustite nasledujúci príkaz:
$ chrómové spojeniaNázov „chróm“ nahraďte názvom svojej aplikácie.
Zoznam všetkých nainštalovaných prichytávacích aplikácií zobrazíte spustením nasledujúceho príkazu:
$ zoznamAk chcete fotoaparátu udeliť povolenie na chróm, použite nasledujúci príkaz:
$ Snap Connect Chróm: FotoaparátAk chcete odvolať povolenie pre kameru, spustite nasledujúci príkaz:
$ chrómu odpojiť chróm: fotoaparátPríslušné príkazy na správu povolení nájdete v stĺpci „Plug“ (zobrazený na snímke obrazovky vyššie).
Flatpak tiež poskytuje rozhranie na udeľovanie a odnímanie povolení. Môžete použiť softvérovú aplikáciu GNOME (vyžaduje GNOME 3.32.x) spravovať povolenia pomocou grafickej metódy. Ak chcete zobraziť povolenia aplikácie flatpak, spustite nasledujúci príkaz:
$ flatpak info - show-povolenia org.kde.Plošina
Nahraďte „org.kde.Platforma “s názvom vašej aplikácie Flatpak.
Zoznam všetkých aplikácií flatpak nainštalovaných vo vašom systéme zobrazíte spustením nasledujúceho príkazu:
zoznam $ flatpakAk chcete zmeniť povolenia aplikácie flatpak, musíte zmeniť hodnoty premenných zobrazené na snímke obrazovky vyššie. Napríklad nasledujúci príkaz sprístupní celý súborový systém aplikácii flappak:
$ sudo flatpak prepíše org.kde.Platforma --filesystem = hostiteľAppImage odteraz nepodporuje podrobné kontroly povolení, ale vývojári naznačili, že v budúcnosti môžu byť implementované kontroly povolení v štýle Android.
Sandboxovanie
Snap, Flatpak a AppImage podporujú prostredia aplikácií v karanténe po vybalení z krabice. Sandbox je prostredie (alebo kontajner / súborový systém / archív), ktoré je úplne izolované a vzdialené od hostiteľského systému. Akákoľvek interakcia s hostiteľským systémom sa vykonáva pomocou obmedzeného rozhrania API a povolení. Niektoré z týchto povolení výslovne vyžadujú prihlásenie používateľov alebo ich môžu koncoví používatelia úplne zakázať. Aplikácia v karanténe je bezpečná ako ktorákoľvek iná aplikácia, ktorá má úplný prístup k hostiteľskému systému. Všetky aplikácie pre Android bežia v karanténe a tieto tri formáty balenia fungujú na podobnej myšlienke.
Natívna podpora tém
Všetky tri formáty balenia podporujú natívny vzhľad a správanie aplikácií GTK a Qt, aj keď s určitými obmedzeniami. Napríklad Snap a Flatpak vyžadujú, aby boli systémové témy zabalené v príslušných formátoch. Ak používate balíčky tém a ikon tretích strán, nemusí sa stať, že sa vám zobrazia správne ikony tém, kurzora a aplikácií. Integrácia sa zlepšila nadčasy, ale mierne zaostávajú v porovnaní s aplikáciami nainštalovanými od oficiálneho správcu balíkov distribúcie.
Prenosnosť aplikácií
Aplikácia AppImage je jeden spustiteľný súbor (podobný systému Windows .exe súbory). Môžete ich jednoducho zdieľať medzi systémami alebo nahrať do cloudu. Aplikácie Snap a Flatpak môžu byť prenosné zahrnutím samotnej aplikácie, ako aj detských úložísk, od ktorých aplikácia závisí. Proces však nie je taký ľahký ako AppImage a vyžaduje dosiahnutie viacerých výsledkov pomocou viacerých príkazov.
Automatické aktualizácie
Aplikácie Snap a Flatpak sa inštalujú z centralizovaných úložísk aplikácií a aplikácie je možné automaticky aktualizovať bez zásahu používateľa. Aplikácii AppImage chýba robustný mechanizmus automatickej aktualizácie. Používatelia musia inštalovať aktualizácie ručne sťahovať nové binárne súbory AppImage a nahradiť existujúce. Správcovia aplikácií AppImage niekedy obsahujú svoj vlastný aktualizačný mechanizmus, ktorý pravidelne kontroluje dostupnosť aktualizácií na ich serveroch alebo vyžaduje zásah používateľa. Nedávno vývojári AppImage poskytli nástroj na aktualizáciu existujúcich binárnych súborov poskytovaním delta aktualizácií. Stále to však vyžaduje stiahnutie aktualizačného nástroja a jeho manuálne použitie s existujúcim binárnym súborom AppImage. Pre aplikáciu AppImage zatiaľ nie je k dispozícii žiadny mechanizmus na aktualizáciu pomocou rúk.
Veľkosť aplikácie
AppImage má najmenšiu veľkosť aplikácie, pravdepodobne preto, že slúži v binárnom formáte v komprimovanom formáte. Veľkosti aplikácií Snap a Flatpak sa v jednotlivých aplikáciách veľmi líšia a je ťažké zistiť, ktorá z nich poskytuje menšiu veľkosť inštalácie. Len pre informáciu, Inkscape AppImage mal v čase písania tohto článku okolo 98 MB, Snap okolo 183 MB a Flatpak okolo 109 MB.
Záver
Balíky univerzálnych aplikácií sú prospešné pre vývojárov aj koncových používateľov. Tieto formáty balenia umožňujú oveľa rýchlejšie dodanie zabezpečených aplikácií. Otvárajú tiež dvere vývojárom, ktorí sa vyhýbajú Linuxu kvôli rôznym štandardom balenia používaným v rôznych distribúciách. V týchto troch formátoch balenia je potrebné vyriešiť niektoré problémy. Všetci sú však v aktívnom vývoji a tieto problémy budú opravené nadčasy. Univerzálne balíčky krížovej distribúcie sú budúcnosťou a ich prijatie sa bude zvyšovať. Distribúcie sa v budúcnosti môžu pomaly, ale rovnomerne presúvať na verzie Snap, Flatpak alebo AppImage, s výnimkou základných knižníc a základných balíkov, ktoré sú potrebné pre fungovanie operačného systému.