Wir haben erklärt, was Flatpak, Snap undAppImage sind im Artikel Wie stapeln sie sich? vor über 2 Jahren veröffentlicht und obwohl sich die Technologien seitdem stark verbessert haben, bewerte ich sie aus der Perspektive eines Softwareentwicklers.
Sandboxing / Confinement
Du kannst AppImage ohne Sandboxing ausführen und es mit verschiedenen Sandboxes verwenden, z. AppArmor und Firejail.
Snap kann ohne Sandboxing ausgeführt werden, aber Sie können es nicht mit anderen Sandboxes verwenden, da es eng mit gekoppelt ist. AppArmor.
Flatpak läuft weder ohne Sandboxing noch kann es mit anderen Sandboxes als Bubblewrap verwendet werden. .
Installation / Ausführung
Man kann ein AppImage nach dem Festlegen der ausführbaren Datei ohne Root-Zugriff, ohne Dekomprimierung und auf einem Offline-System ausführen.
Snap muss installiert werden von snapd, kann nicht ausgeführt werden ohne Root-Zugriff bis nach der Installation, noch kann die herunterladbare Datei neben exe
und dmg platziert werdendas Benutzer auf Offline-Systemen installieren können, aber es kann von einer unkomprimierten Quelle ausgeführt werden.
Flatpak muss von einem Flatpak clientseitigen Tool installiert werden, kann erst nach der Installation ohne Root-Zugriff ausgeführt werden, kann nicht von einem ausgeführt werden unkomprimierte Quelle. Außerdem benötigen flatpakref
Dateien Internet und flatpak Bundles erfordern die Installation einer Laufzeitumgebung.
AppImage kann Anwendungen von nicht standardmäßigen Speicherorten wie CD-ROM speichern und ausführen. und Netzwerkfreigaben. Flatpak kann nach einiger Konfiguration dasselbe tun, während Snap derzeit nicht kann.
In diesem Abschnitt übernimmt AppImage den Kuchen, da seine Anwendungen flexibler sind.
Anwendungsverteilung und -aktualisierungen
Das zentrale Repository für Flatpak und Snap ist FlatHub, bzw. Snap Store. Benutzer können AppImages von AppImageHub herunterladen, einer Katalogisierungsplattform für Software, die als AppImage-Pakete verfügbar ist.
Im Gegensatz zu AppImage und FlatPak ist dasSnap Store ist der einzige dominierende App Store mit einem Repo pro Gerät. Ob das gut oder schlecht ist, musst du entscheiden.
Apps, die mit allen 3 Methoden gepackt wurden, können mehrere Versionen parallel ausführen und können einfach auf einen anderen Computer kopiert werden. Sie haben jedoch ihre einzigartigen Implementierungen.
Alle 3 unterstützen binäre Delta-Updates, aber nur AppImage Apps können sich selbst aktualisieren, da Snap Apps müssen snapd installiert werden und Flatpak Apps müssenFlatpak muss installiert werden.
Summarisch
AppImages und Snap bleiben immer komprimiert ( Flatpak wird nur serverseitig komprimiert) und sind in der Regel kleiner als Flatpak Apps . AppImage ist auch unabhängig von Distributionsherstellern und zielt darauf ab, Linux-Plattform-Ökosysteme zu vereinheitlichen.
Snap gehört Canonical und platziert seinen Basis-Snap über die zugrunde liegende Distribution, während Flatpak eine Initiative von Red Hat ist, die eine Yocto-Distribution überlagert die zugrunde liegende Distribution.Anders als bei Snap, wo Entwickler an Canonical zahlen müssen, AppImage und Flatpak können kostenlos verwendet werden.
Aus meiner Sicht sind AppImages die ideale Verpackungsmethode, da sie sowohl für Entwickler als auch für Endbenutzer am bequemsten ist. Es ist jedoch möglich, dass sie nebeneinander existieren, insbesondere wenn es Fälle gibt, in denen Entwickler es vorziehen, einen der anderen zu verwenden. Sagen Sie uns Ihre Meinung in den Kommentaren unten.
Meine Recherche für diesen Artikel wurde stark von ähnlichen Projekten und den Reddit-Threads hier und hier beeinflusst. Fühlen Sie sich frei, sie für weitere Einblicke zu überprüfen.