We hebben uitgelegd wat Flatpak, Snap enAppImage staan in het artikel Hoe stapelen ze? meer dan 2 jaar geleden gepubliceerd en hoewel de technologieën sindsdien enorm zijn verbeterd, evalueer ik ze vanuit het perspectief van een softwareontwikkelaar.
Sandboxing / Opsluiting
Je kunt AppImage uitvoeren zonder sandboxing en het gebruiken met verschillende sandboxes, b.v. AppArmor en Firejail.
Snap kan worden uitgevoerd zonder sandboxing, maar u kunt het niet gebruiken met verschillende sandboxen omdat het nauw is gekoppeld aan AppArmor.
Flatpak kan niet worden uitgevoerd zonder sandboxing en kan ook niet worden gebruikt met andere sandboxen dan Bubblewrap .
Installatie / Uitvoering
Je kunt een AppImage uitvoeren nadat je het uitvoerbare bestand hebt ingesteld zonder root-toegang, zonder het te decomprimeren, en op een offline systeem.
Snap moet worden geïnstalleerd door snapd, kan niet worden uitgevoerd zonder root-toegang totdat het is geïnstalleerd, noch kan het downloadbare bestand naast exe
en dmg worden geplaatstdie gebruikers kunnen installeren op offline systemen, maar het kan worden uitgevoerd vanuit een niet-gecomprimeerde bron.
Flatpak moet worden geïnstalleerd door een Flatpak client-side tool, kan niet worden uitgevoerd zonder root-toegang tot na installatie, kan niet worden uitgevoerd vanaf een ongecomprimeerde bron. Bovendien, flatpakref
bestanden vereisen internet en flatpak bundels vereisen een runtime om geïnstalleerd te worden.
AppImage kan applicaties opslaan en uitvoeren vanaf niet-standaard locaties zoals CD-ROM en netwerkshares. Flatpak kan hetzelfde doen na enige configuratie, terwijl Snap momenteel niet kan.
In deze sectie spant AppImage de kroon omdat de toepassingen flexibeler zijn.
Applicatie Distributie & Updates
De centrale opslagplaats voor Flatpak en Snap is FlatHub, en Snap Store respectievelijk. Gebruikers kunnen AppImages downloaden van AppImageHub, een catalogiseringsplatform voor software die beschikbaar is als AppImage-bundels.
In tegenstelling tot AppImage en FlatPak, maar deSnap Store is de enige dominante app store met één repo per apparaat. Of dat een goede of slechte zaak is, is aan jou om te beslissen.
Apps die zijn verpakt met behulp van alle 3 de methoden, kunnen meerdere versies parallel laten draaien en kunnen eenvoudig naar een andere machine worden gekopieerd. Ze hebben echter hun eigen unieke implementaties.
Alle 3 ondersteunen binaire delta-updates, maar alleen AppImage apps kunnen zichzelf bijwerken als Snap apps hebben snapd nodig om te worden geïnstalleerd en Flatpak apps hebbennodig Flatpak nog te installeren.
Summier
AppImages en Snap blijven altijd gecomprimeerd ( Flatpak wordt alleen aan de serverzijde gecomprimeerd) en zijn meestal kleiner dan Flatpak apps . AppImage is ook onafhankelijk van welke distro-maker dan ook en heeft tot doel de ecosystemen van het Linux-platform te verenigen.
Snap is eigendom van Canonical en plaatst zijn basissnap over de onderliggende distro, terwijl Flatpak een Red Hat initiatief is dat een Yocto distro over de onderliggende distro.Ook, in tegenstelling tot Snap waar ontwikkelaars moeten betalen aan Canonical, AppImage en Flatpak zijn gratis te gebruiken.
Vanuit mijn standpunt zijn AppImages de ideale verpakkingsmethode om te gebruiken omdat het het gemakkelijkst is voor zowel ontwikkelaars als eindgebruikers. Het is echter mogelijk dat ze naast elkaar bestaan, vooral wanneer er gevallen zijn waarin ontwikkelaars de voorkeur geven aan een van de andere. Vertel ons wat je ervan vindt in de comments hieronder.
Mijn onderzoek voor dit artikel werd sterk beïnvloed door vergelijkbare projecten en de Reddit-threads hier en hier. Bekijk ze gerust voor meer inzicht.