Nous avons expliqué ce qu'est Flatpak, Snap etAppImage sont dans l'article How Do They Stack ? publié il y a plus de 2 ans et bien que les technologies se soient beaucoup améliorées depuis, je les évalue du point de vue d'un développeur de logiciels.
Sandboxing / Confinement
Vous pouvez exécuter AppImage sans bac à sable et l'utiliser avec différents bacs à sable, par ex. AppArmor et Firejail.
Snap peut s'exécuter sans bac à sable, mais vous ne pouvez pas l'utiliser avec différents bacs à sable car il est étroitement couplé à AppArmor.
Flatpak ne peut pas fonctionner sans bac à sable ni être utilisé avec différents bacs à sable autres que Bubblewrap .
Installation / Exécution
On peut exécuter une AppImage après avoir défini l'exécutable sans accès root, sans le décompresser et sur un système hors ligne.
Snap doit être installé par snapd, ne peut pas être exécuté sans accès root jusqu'à ce qu'il soit installé et son fichier téléchargeable ne peut pas être placé à côté de exe
et dmgque les utilisateurs peuvent installer sur des systèmes hors ligne, mais il peut s'exécuter à partir d'une source non compressée.
Flatpak doit être installé par un Flatpak outil côté client, ne peut pas s'exécuter sans accès root avant l'installation, ne peut pas s'exécuter à partir d'un source non compressée. De plus, les fichiers flatpakref
nécessitent Internet et flatpak les bundles nécessitent l'installation d'un runtime.
AppImage peut stocker et exécuter des applications à partir d'emplacements non standard tels que CD-ROM et les partages réseau. Flatpak peut faire la même chose après une certaine configuration, alors que Snap ne le peut pas actuellement.
Dans cette section, AppImage prend le dessus car ses applications sont plus flexibles.
Distribution et mises à jour des applications
Le référentiel central pour Flatpak et Snap est FlatHub, et Snap Store respectivement. Les utilisateurs peuvent télécharger AppImages à partir d'AppImageHub, une plate-forme de catalogage des logiciels disponibles sous forme d'ensembles AppImage.
Contrairement à AppImage et FlatPak, cependant, leSnap Store est le seul magasin d'applications dominant avec un référentiel par appareil. Que ce soit une bonne ou une mauvaise chose, c'est à vous de décider.
Les applications packagées à l'aide des 3 méthodes peuvent avoir plusieurs versions exécutées en parallèle et peuvent être facilement copiées sur une autre machine. Cependant, ils ont leurs implémentations uniques.
Tous les 3 prennent en charge les mises à jour delta binaires, mais seules les applications AppImage peuvent se mettre à jour automatiquement en tant que Snap applications ont besoin de snapd pour être installées et Flatpak applications ont besoin deFlatpak à installer.
Sommaire
AppImages et Snap restent compressés en permanence ( Flatpak est compressé uniquement côté serveur) et sont généralement plus petits que les applications Flatpak . AppImage est également indépendant de tout fabricant de distribution et vise à unifier les écosystèmes de plate-forme Linux.
Snap appartient à Canonical et place son snap de base sur la distribution sous-jacente, tandis que Flatpak est une initiative Red Hat qui place une distribution Yocto sur la distribution sous-jacente.De plus, contrairement à Snap où les développeurs doivent payer pour Canonical, AppImage et Flatpak sont gratuits.
D'où je me tiens, AppImages sont la méthode d'empaquetage idéale à utiliser car elle est la plus pratique pour les développeurs et les utilisateurs finaux. Cependant, il est possible qu'ils coexistent surtout lorsqu'il y a des cas où les développeurs préféreront utiliser l'un ou l'autre. Dites-nous ce que vous en pensez dans la section des commentaires ci-dessous.
Mes recherches pour cet article ont été grandement influencées par des projets similaires et les discussions Reddit ici et ici. N'hésitez pas à les consulter pour en savoir plus.