Vysvětlili jsme, co Flatpak, Snap aAppImage jsou v článku How Do They Stack? publikováno před více než 2 lety, a přestože se technologie od té doby hodně zlepšily, hodnotím je z pohledu vývojáře softwaru.
Sandboxing / Uvěznění
AppImage můžete spustit bez sandboxingu a také jej použít s různými sandboxy, např. AppArmor a Firejail.
Snap lze spustit bez karantény, ale nelze jej použít s různými karanténami, protože je úzce spojen s AppArmor.
Flatpak nelze spustit bez sandboxingu ani jej nelze použít s jinými karanténami než Bubblewrap .
Instalace / Provedení
AppImage lze spustit po nastavení spustitelného souboru bez přístupu root, bez jeho dekomprimace a v offline systému.
Snap je třeba nainstalovat do snapd, nelze spustit bez přístupu root, dokud nebude nainstalován, ani nelze jeho soubor ke stažení umístit vedle exe
a dmg , který si uživatelé mohou nainstalovat do offline systémů, ale může běžet z nekomprimovaného zdroje.
Flatpak je třeba nainstalovat pomocí Flatpak nástroje na straně klienta, nelze jej spustit bez přístupu root až po instalaci, nelze jej spustit z nekomprimovaný zdroj. Také flatpakref
soubory vyžadují internet a flatpak balíčky vyžadují instalaci runtime.
AppImage může ukládat a spouštět aplikace z nestandardních umístění, jako je CD-ROM a síťové sdílení. Flatpak může po určité konfiguraci udělat totéž, zatímco Snap momentálně ne.
V této části AppImage bere dort, protože jeho aplikace jsou flexibilnější.
Distribuce a aktualizace aplikací
Centrálním úložištěm pro Flatpak a Snap je FlatHub, respektive Snap Store. Uživatelé si mohou stáhnout AppImages z AppImageHub, což je katalogizační platforma pro software dostupný jako balíčky AppImage.
Na rozdíl od AppImage a FlatPak všakSnap Store je jediný dominantní obchod s aplikacemi s jedním úložištěm na zařízení. Zda je to dobře nebo špatně, musíte rozhodnout vy.
Aplikace zabalené pomocí všech 3 metod mohou mít několik verzí spuštěných paralelně a lze je snadno zkopírovat na jiný počítač. Mají však své jedinečné implementace.
Všechny 3 podporují binární delta aktualizace, ale pouze AppImage aplikace se mohou samy aktualizovat jako Snap aplikace potřebují snapd k instalaci a Flatpak aplikace potřebujíFlatpak k instalaci.
Shrnutí
AppImages a Snap zůstávají stále komprimované ( Flatpak je komprimován pouze na straně serveru) a má obvykle menší velikost než aplikace Flatpak aplikace . AppImage je také nezávislý na jakémkoli výrobci distribucí a jeho cílem je sjednotit ekosystémy platformy Linux.
Snap vlastní Canonical a umístí svůj základní snap nad základní distro, zatímco Flatpak je Red Hat iniciativa, která umisťuje distro Yocto nad základní distro.Také na rozdíl od Snap, kde vývojáři musí platit za Canonical, AppImage a Flatpak jsou zdarma k použití.
Z mého pohledu jsou AppImages ideální metodou balení, protože je nejpohodlnější pro vývojáře i koncové uživatele. Je však možné, aby koexistovaly, zvláště když existují případy, kdy vývojáři upřednostňují použití jednoho z druhého. Sdělte nám svůj názor v sekci komentářů níže.
Můj výzkum pro tento článek byl výrazně ovlivněn Podobnými projekty a vlákny Reddit zde a zde. Neváhejte je zkontrolovat, abyste získali další informace.