Vi forklarede, hvad Flatpak, Snap ogAppImage er i artiklen How Do They Stack? udgivet for over 2 år siden, og selvom teknologierne er blevet meget bedre siden dengang, vurderer jeg dem fra en softwareudviklers perspektiv.
Sandboxing / Indespærring
Du kan køre AppImage uden sandboxing samt bruge det med forskellige sandboxes f.eks. AppArmor og Firejail.
Snap kan køre uden sandboxing, men du kan ikke bruge det med forskellige sandboxes, da det er tæt koblet til AppArmor.
Flatpak kan hverken køre uden sandboxing og kan heller ikke bruges med andre sandkasser end Bubblewrap .
Installation / Udførelse
Man kan køre en AppImage efter at have indstillet den eksekverbare uden root-adgang, uden at dekomprimere den, og på et offline system.
Snap skal installeres inden snapd, kan ikke køre uden root-adgang, før den er installeret, og dens fil, der kan downloades, kan heller ikke placeres ved siden af exe
og dmgsom brugere kan installere på offline systemer, men det kan køre fra en ukomprimeret kilde.
Flatpak skal installeres af et Flatpak klientsideværktøj, kan ikke køre uden root-adgang før efter installationen, kan ikke køre fra en ukomprimeret kilde. Også flatpakref
filer kræver internet og flatpak bundter kræver en køretid for at blive installeret.
AppImage kan gemme og køre applikationer fra ikke-standardplaceringer såsom CD-ROM og netværksshares. Flatpak kan gøre det samme efter en vis konfiguration, mens Snap i øjeblikket ikke kan.
I dette afsnit tager AppImage kagen, fordi dens anvendelser er mere fleksible.
Applikationsdistribution og opdateringer
Det centrale lager for Flatpak og Snap er FlatHub, og Snap Store henholdsvis. Brugere kan downloade AppImages fra AppImageHub, som er en katalogiseringsplatform for software tilgængelig som AppImage-bundter.
I modsætning til AppImage og FlatPak, menSnap Store er den eneste dominerende appbutik med én genstand pr. enhed. Om det er en god eller dårlig ting er op til dig at afgøre.
Apps pakket med alle 3 metoder kan have flere versioner kørende parallelt og kan nemt kopieres til en anden maskine. Men de har deres unikke implementeringer.
Alle 3 understøtter binære delta-opdateringer, men kun AppImage apps kan være selvopdaterende som Snap apps skal have snapd for at blive installeret, og Flatpak apps skal haveFlatpak skal installeres.
Oversigt
AppImages og Snap forbliver komprimeret til enhver tid ( Flatpak er kun komprimeret på serversiden) og er typisk mindre i størrelse end Flatpak apps . AppImage er også uafhængig af enhver distro-producent og sigter mod at forene Linux-platformens økosystemer.
Snap ejes af Canonical og placerer dens basissnap over den underliggende distro, mens Flatpak er et Red Hat initiativ, der placerer en Yocto distro over den underliggende distro.Også i modsætning til Snap, hvor udviklere skal betale til Canonical, AppImage og Flatpak er gratis at bruge.
Hvorfra jeg står, er AppImages den ideelle pakkemetode at bruge, fordi den er den mest bekvemme for både udviklere og slutbrugere. Det er dog muligt for dem at eksistere side om side, især når der er tilfælde, hvor udviklere foretrækker at bruge en af de andre. Fortæl os, hvad du synes i kommentarfeltet nedenfor.
Min research til denne artikel var stærkt påvirket af lignende projekter og Reddit-trådene her og her. Tjek dem gerne for mere indsigt.