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…

  • ReakDuck
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    edit-2
    11 months ago

    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.