Vi förklarade vad Flatpak, Snap ochAppImage finns i artikeln How Do They Stack? publicerades för över 2 år sedan och även om teknikerna har förbättrats mycket sedan dess, utvärderar jag dem utifrån en mjukvaruutvecklares perspektiv.
Sandboxning / Instängning
Du kan köra AppImage utan sandlådor samt använda den med olika sandlådor t.ex. AppArmor och Firejail.
Snap kan köras utan sandlådor men du kan inte använda den med olika sandlådor eftersom den är tätt kopplad till AppArmor.
Flatpak kan varken köras utan sandlådor eller kan användas med andra sandlådor än Bubblewrap .
Installation / Utförande
Man kan köra en AppImage efter att ha ställt in den körbara filen utan root-åtkomst, utan att dekomprimera den, och på ett offlinesystem.
Snap måste installeras senast snapd, kan inte köras utan root-åtkomst förrän efter att den har installerats och inte heller kan dess nedladdningsbara fil placeras bredvid exe
och dmgsom användare kan installera på offlinesystem, men det kan köras från en okomprimerad källa.
Flatpak måste installeras med ett Flatpak klientsidans verktyg, kan inte köras utan root-åtkomst förrän efter installationen, kan inte köras från en okomprimerad källa. Dessutom kräver flatpakref
Internet och flatpak buntar kräver en körtid för att installeras.
AppImage kan lagra och köra applikationer från icke-standardiserade platser som CD-ROM och nätverksresurser. Flatpak kan göra samma sak efter en viss konfiguration, medan Snap för närvarande inte kan.
I det här avsnittet tar AppImage kakan eftersom dess tillämpningar är mer flexibla.
Aplikationsdistribution och uppdateringar
Det centrala arkivet för Flatpak och Snap är FlatHub, respektive Snap Store. Användare kan ladda ner AppImages från AppImageHub som är en katalogiseringsplattform för programvara tillgänglig som AppImage-paket.
Till skillnad från AppImage och FlatPak, menSnap Store är den enda dominerande appbutiken med en repo per enhet. Om det är bra eller dåligt får du avgöra.
Appar paketerade med alla tre metoderna kan ha flera versioner som körs parallellt och kan enkelt kopieras till en annan dator. Men de har sina unika implementeringar.
Alla tre stöder binära deltauppdateringar men endast AppImage appar kan uppdateras själv som Snap appar behöver snapd för att installeras och Flatpak appar behöverFlatpak ska installeras.
Summariskt
AppImages och Snap förblir komprimerade hela tiden ( Flatpak komprimeras endast på serversidan) och är vanligtvis mindre i storlek än Flatpak appar . AppImage är också oberoende av alla distrotillverkare och syftar till att förena Linux-plattformens ekosystem.
Snap ägs av Canonical och placerar dess bassnäpp över den underliggande distron, medan Flatpak är ett Red Hat initiativ som placerar en Yocto-distro över den underliggande distron.Dessutom, till skillnad från Snap där utvecklare måste betala till Canonical, AppImage och Flatpak är gratis att använda.
Från där jag står är AppImages den idealiska förpackningsmetoden att använda eftersom den är den mest bekväma för både utvecklare och slutanvändare. Det är dock möjligt för dem att samexistera, särskilt när det finns fall som utvecklare föredrar att använda en av de andra. Berätta för oss vad du tycker i kommentarsfältet nedan.
Min forskning för den här artikeln påverkades mycket av liknande projekt och Reddit-trådarna här och här. Kolla gärna in dem för mer insikt.