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…
Flatpaks are great for GUI apps, and have a sandboxing system that allow them to work well on any system that support flatpak. This allows devs to package once run anywhere, saving Dev time! It also has a portals system to allow for better system integration of the granular permissions needed for the app to actually work (nobody wants a truly isolated sandbox for every app).
Snap is less featureful for GUI apps, but work closer to how native packages do. The real issue is the proprietary app store required for it, making non-foss. If you want the same benefits of snap, check out Guix and NixOS both of which have a more cleaner design, and work better IMHO.