Appimage, Flatpak or Snap

Flame

Me > You
OP
Global Moderator
Joined
Jul 15, 2008
Messages
6,764
Trophies
3
XP
15,269
the new idea in the Linux world is contained applications. the idea it self is great for Linux, by which i mean you could be running a very stable distro which might not have the cutting edge software by this contained applications makes it possible to run latest software.

this would be great if it they was one so everyone could put they resources behind it. but as always monkey see monkey do.

from the looks of it Flatpak looks the best because Snap is by Canonical as much i love Ubuntu, if Canonical gets bored its getting dropped.

plus it has sandboxing unlike Appimage.

which one do you think will win the contained applications race?
 

matpower

The Mad Scientist
Member
Joined
May 5, 2012
Messages
1,092
Trophies
2
Age
23
Location
Best state in Brazil
XP
2,261
Country
Brazil
Flatpak is currently winning the race with the highest adoption rate (Hell, even pirates are using it), snap is mostly being backed up by Canonical with SolusOS using it after Canonical paid them in some event. AppImage are something different IMO and I will explain why later.

Flatpak and snap are pretty similar in features:
  • Both are sandboxed (Flatpaks with SELinux and snap with AppArmor)
  • Both are self-contained (Flatpak, however, can load external libraries through runtimes)
  • Both can do delta updates
Flatpak is quite nifty IMO, it can share libraries through runtimes, which saves spaces and allow the runtime provider to update libraries with security patches or bugfixes if needed, or load themes, it also can use third party repos (currently, the biggest one is Flathub, followed by GNOME) which leads to more flexibility in available apps and less dependency on a single provider. Snap is more self-contained, similar to AppImage, it load external components and currently only Canonical has the know-how to host a snap server, and they insist on you to use it, which pretty much makes it centralized, furthermore I don't know if every AppArmor patch used by snap are upstreamed, so its sandbox might be lacking outside Ubuntu.
Sadly flatpak isn't the magic bullet I wished it was, its command line tool is a bit weird syntax-wise compared to the standard package manager and its devs want it that way, furthermore it seems impossible to flatpak a command line utility such as htop or cmus (I have yet to see someone doing it, while snap have command line tools packaged for usage on IoT devices).

AppImages are more alike to PortableApps, they are a self-contained disk image which runs everywhere without having to install something else, it is limited but at the same time useful since it is truly portable, but IMO not really suitable for proper package management since it is pretty much a big magical blob. You can sandbox it manually btw.
Besides those three options mentioned, there is also Nix (and its GNU fork, Guix) which is distro-agnostic and work more like package managers but with more powerful features and support for multiple versions of the same package being installed, without dealing with dependencies (it pretty much hardlinks and keeps a X version of a library around until nothing else uses it).

It is totally possible to use a stable distro (such as Debian) without dealing with outdated software and adding external repos to the main package manager already. I know quite a few users on /r/debian use Nix and flatpak to complement Debian's packages and run up-to-date selected software. It is also useful on cutting edges distros like Fedora too, for example, one could use GNOME 3.26 apps on Fedora 26 while it is stuck with GNOME 3.24..
 
  • Like
Reactions: Flame and VinsCool

Flame

Me > You
OP
Global Moderator
Joined
Jul 15, 2008
Messages
6,764
Trophies
3
XP
15,269
Flatpak is currently winning the race with the highest adoption rate (Hell, even pirates are using it), snap is mostly being backed up by Canonical with SolusOS using it after Canonical paid them in some event. AppImage are something different IMO and I will explain why later.

Flatpak and snap are pretty similar in features:
  • Both are sandboxed (Flatpaks with SELinux and snap with AppArmor)
  • Both are self-contained (Flatpak, however, can load external libraries through runtimes)
  • Both can do delta updates
Flatpak is quite nifty IMO, it can share libraries through runtimes, which saves spaces and allow the runtime provider to update libraries with security patches or bugfixes if needed, or load themes, it also can use third party repos (currently, the biggest one is Flathub, followed by GNOME) which leads to more flexibility in available apps and less dependency on a single provider. Snap is more self-contained, similar to AppImage, it load external components and currently only Canonical has the know-how to host a snap server, and they insist on you to use it, which pretty much makes it centralized, furthermore I don't know if every AppArmor patch used by snap are upstreamed, so its sandbox might be lacking outside Ubuntu.
Sadly flatpak isn't the magic bullet I wished it was, its command line tool is a bit weird syntax-wise compared to the standard package manager and its devs want it that way, furthermore it seems impossible to flatpak a command line utility such as htop or cmus (I have yet to see someone doing it, while snap have command line tools packaged for usage on IoT devices).

AppImages are more alike to PortableApps, they are a self-contained disk image which runs everywhere without having to install something else, it is limited but at the same time useful since it is truly portable, but IMO not really suitable for proper package management since it is pretty much a big magical blob. You can sandbox it manually btw.
Besides those three options mentioned, there is also Nix (and its GNU fork, Guix) which is distro-agnostic and work more like package managers but with more powerful features and support for multiple versions of the same package being installed, without dealing with dependencies (it pretty much hardlinks and keeps a X version of a library around until nothing else uses it).

It is totally possible to use a stable distro (such as Debian) without dealing with outdated software and adding external repos to the main package manager already. I know quite a few users on /r/debian use Nix and flatpak to complement Debian's packages and run up-to-date selected software. It is also useful on cutting edges distros like Fedora too, for example, one could use GNOME 3.26 apps on Fedora 26 while it is stuck with GNOME 3.24..


mat thats a powerful post.


giphy.gif
 
  • Like
Reactions: matpower

You may also like...

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3N1 @ K3N1: Maybe one day I can be Bruce almighty