So I know my way around Linux pretty well. However I never really got the gist of the difference between Snap, Flatpak and Native packages.
What exactly sets them apart?
Why does everyone seem to hate snap?
I have been using all of them, simultaneously on the same system and never really noticed a difference in the way installation, updates etc are handled (syntax ofc).
I hear snap sandboxes? Is that the main reason? Thanks for your insights…
Afaik snaps can’t share depending packages, making it store the same dependency multiple times. Flatpak can share the depending package+version, sharing it to every app it needs and store it once.
The Golden advantage I see is not having issues installing multiple versions of the same dependency, which would be kinda hard for a native system depending on the type of package an app is depending on. Like Python and Java could easy have multiple same versions on a native system, but other things may be too difficult to realize except you use Flatpak.
So the main point is comfort I guess, it just works on all distros unrelated if a dependency doesn’t exist for the distro or is too old/new.
Not sure how secure Flatpak is. But 2 serious scenarios are existing to use it: You want to isolate the app from system for security. You have an immutable read only OS and want to easily install packages.