Cet article répertorie les principales différences entre ces trois formats d'emballage du point de vue des utilisateurs finaux. Les différences dans l'architecture d'emballage et la facilité d'emballage du point de vue des développeurs ne seront pas couvertes ici.
Le tableau ci-dessous résume les principales différences entre les formats de fichiers SNAP, FlatPak et AppImage. La plupart d'entre eux sont explicites, d'autres points ont été expliqués sous le tableau de comparaison.
Instantané | Flatpak | Applimager | |
Android comme les commandes d'autorisation bascules (GUI et CLI) | Oui | Oui | Non |
Support de bacs à sable | Oui | Oui | Oui |
Boîte de sable obligatoire | Oui | Oui | Non |
Support de thème natif | Oui (avec les mises en garde) | Oui (avec les mises en garde) | Oui (avec les mises en garde) |
Prise en charge des bibliothèques groupées | Oui | Oui | Oui |
Portabilité des applications | Oui (avec les mises en garde) | Oui (avec les mises en garde) | Oui |
Support exécutable unique entièrement contenu (similaire à .Fichiers EXE dans Windows) | Non | Non | Oui |
APPOTAGE D'APPROSSEMENT | Oui | Oui | Oui |
Plugins pour le logiciel de bureau de bureau | Oui | Oui | Non |
Prise en charge des applications parallèles multi-version | Oui | Oui | Oui |
Mises à jour automatiques | Oui | Oui | Oui (avec les mises en garde) |
Support Chrome OS (via des conteneurs Crostini) | Oui | Oui | Oui |
Taille de l'application | Varie mais plus élevé qu'AppIMAGE | Varie mais plus élevé qu'AppIMAGE | Le plus bas |
Nombre d'applications disponibles dans l'App Store | Le plus élevé | Le plus bas | Quelque part entre les deux |
Contrôles d'autorisation pour les utilisateurs
SNAP fournit des interfaces graphiques et de ligne de commande pour les autorisations contrôlées par l'utilisateur. Vous pouvez utiliser l'application préinstallée «Ubuntu Software» pour gérer les autorisations d'une application SNAP.
Pour voir les autorisations d'une application SNAP à l'aide de l'interface de ligne de commande, exécutez la commande ci-dessous:
$ Snap Connections Chromium
Remplacez «Chromium» par le nom de votre application SNAP.
Pour voir une liste de toutes les applications SNAP installées, exécutez la commande ci-dessous:
$ SNAP LIST
Pour accorder la permission de la caméra à Chromium Snap, utilisez la commande ci-dessous:
$ Snap Connect Chromium: appareil photo
Pour révoquer l'autorisation de la caméra, exécutez la commande ci-dessous:
$ Snap Disconnect Chromium: Camera
Les commandes appropriées pour la gestion des autorisations peuvent être trouvées dans la colonne «Plug» (illustrée dans la capture d'écran ci-dessus).
Flatpak fournit également une interface pour l'octroi et la révocation des autorisations. Vous pouvez utiliser l'application logicielle Gnome (nécessite GNOME 3.32.x) pour gérer les autorisations à l'aide d'une méthode graphique. Pour voir les autorisations d'une application Flatpak, exécutez la commande ci-dessous:
$ flatpak info - show-permissions org.kde.Plateforme
Remplacer «Org.kde.Plateforme »avec le nom de votre application Flatpak.
Pour afficher une liste de toutes les applications Flatpak installées sur votre système, exécutez la commande ci-dessous:
$ Flatpak Liste
Pour modifier les autorisations d'une application Flatpak, vous devez modifier les valeurs des variables indiquées dans la capture d'écran ci-dessus. Par exemple, la commande ci-dessous mettra entièrement le système de fichiers à la disposition d'une application Flappak:
$ sudo flatpak override org.kde.Plate-forme - fileSystem = hôte
AppImage ne prend pas en charge les contrôles d'autorisation granulaires à partir de maintenant, mais les développeurs ont laissé entendre que les contrôles d'autorisation de style Android pourraient être mis en œuvre à l'avenir.
Sable
Les environnements d'application Snap, Flatpak et AppImage prennent en charge. Un bac à sable est un environnement (ou un conteneur / système de fichiers / archive) qui est complètement isolé et distant du système hôte. Toute interaction avec le système hôte est effectuée en utilisant des contrôles API et d'autorisation limités. Certaines de ces autorisations nécessitent explicitement l'opt-in par les utilisateurs ou peuvent être complètement désactivées par les utilisateurs finaux. Une application sandbox est sécurisée que toute autre application qui a un accès complet au système hôte. Toutes les applications Android s'exécutent dans un bac à sable et ces trois formats d'emballage fonctionnent sur une idée similaire.
Support de thème natif
Les trois formats d'emballage prennent en charge l'aspect et la sensation natifs pour les applications GTK et QT, mais avec certaines limites. Par exemple, Snap et FlatPak nécessitent des thèmes système à être emballés dans leurs formats respectifs. Si vous utilisez des thèmes et des icônes tiers, vous ne pouvez pas obtenir le thème, le curseur et les icônes du curseur et des applications. L'intégration a amélioré les heures supplémentaires, mais ils ne sont pas en retard par rapport aux applications installées à partir du gestionnaire de package officiel d'une distribution.
Portabilité des applications
Une application AppImage est un fichier exécutable unique (similaire à Windows ' .Fichiers EXE). Vous pouvez facilement le partager entre les systèmes ou télécharger sur Cloud. Les applications Snap et Flatpak peuvent être rendues portables en incluant l'application elle-même, ainsi que les référentiels d'enfants dont l'application dépend. Cependant, le processus n'est pas aussi facile qu'appimage et nécessite d'utiliser plusieurs commandes pour obtenir les mêmes résultats.
Mises à jour automatiques
Les applications Snap et Flatpak sont installées à partir de référentiels d'applications centralisés et les applications peuvent être automatiquement mises à jour sans intervention de l'utilisateur. AppImage n'a pas de mécanisme de mise à jour automatique robuste. Les utilisateurs doivent télécharger manuellement le nouveau Binaire AppImage et remplacer un existant pour installer des mises à jour. Les responsables de l'application AppImage incluent parfois leur propre mécanisme de mise à jour qui vérifie périodiquement la disponibilité des mises à jour sur leurs serveurs ou nécessite une intervention des utilisateurs. Récemment, les développeurs AppImage ont fourni un outil pour mettre à jour les binaires existants en fournissant des mises à jour Delta. Cependant, il faut toujours télécharger l'outil de mise à jour et l'utiliser manuellement avec un binaire applimage existant. Il n'y a pas encore de mécanisme de mise à jour mains libres pour applimage.
Taille de l'application
AppImage a une empreinte de taille d'application la plus basse, très probablement parce qu'elle sert des binaires au format compressé. Les tailles d'applications Snap et Flatpak varient considérablement d'une application à l'autre et il est difficile de déterminer qui fournit une taille d'installation inférieure. Juste pour référence, Inkscape AppImage au moment de la rédaction de cet article était d'environ 98 Mo, Snap était d'environ 183 Mo et Flatpak était d'environ 109 Mo.
Conclusion
Les packages d'applications universels sont une situation gagnant-gagnant pour les développeurs et les utilisateurs finaux. Ces formats d'emballage permettent une livraison beaucoup plus rapide d'applications sécurisées. Ils ouvrent également des portes aux développeurs qui se sont éloignés de Linux en raison de différentes normes d'emballage utilisées dans différentes distributions. Il y a des problèmes qui doivent être calculés dans ces trois formats d'emballage. Cependant, ils sont tous en cours de développement actif et ces problèmes seront réparés des heures supplémentaires. Les forfaits inter-distributions universels sont l'avenir et leur adoption augmentera. Lentement mais régulièrement, les distributions peuvent se déplacer vers Snap, Flatpak ou AppImage Builds à l'avenir, sauf pour les bibliothèques de base et les packages essentiels qui sont nécessaires pour que le système d'exploitation fonctionne.