Long time linux user and I have a hard time keeping track of the differences between these 3 tech. This comparison did not help much. I can only imagine how lost people with less experience must feel.
Comparing AppImages to Flatpaks is a bit of a stretch.
Agreed, I think AppImage has a strong future
AppImages are completely different thing versus Flatpak and Snap.
Do tell... genuine question, what would you consider 2 significant differeces?
Flatpak is a central repository where an application is installed in a sandbox and cached. It can be updated from that central repository.
Snap is a mounted filesystem containing a repository and is stored locally. It is not sandboxed. It cannot be updated in part but is overwritten in whole. It is distributed by individual app maintainers, not a centralized repository.
I use Appimage and flatpack, but not snaps.
I'm not sure why you reply this to me directly.
He is not using Snaps, though.
Sure (myself neither). I just don't understand why he replies that to me, as if it is an argument to make a point for or against my reply. And seeing that some people downvoted me confuses me even more. I just said I don't understand why he replied to me. Why would anyone downvote without explaining?? What is the reason people got it the wrong way? Really I'm just confused.
Sure. Streaming and DVDs are also completely different things but both deliver media to your TV. The consumer chooses what the consumer wants.
The comparison does not hold up, because for watching films it does not matter on what medium it is. But for applications it has huge implications for maintaining versions, updates, creating packages with or without runtimes and dependencies and a repository and so on, that work differently on operating systems and so on. This goes way beyond just the user choosing the format.
I don’t think I’ve made my point very well.
From the user perspective, all they want is an app.
They choose the minimal effort way to get that app. If flatpaks are what is distribute in that icon that says App Store, that’s what they go with.
If we ever want to actually increase Linux usage in the mainstream that is the attitude we will have to take.
You’re right, but you’re right in the wrong way. Everything you say is true, but try explaining that to the average user of Windows.
I use flatpak and app images for different uses.
App images are like portable exe files for onetime use apps. Like Rufus
Flatpaks are like installable exes from the devs website. Used for apps I want to used and use again on my machine.
i dont believe a single person in this post
Good for you?
Yeah Flatpacks aren't really "competing" with Appimages the way they are with Snaps.
Flatpaks are only "competing" with a small portion of what snaps do.
Oh ok I didn't realize that. I've personally never encountered a situation where I needed a Snap because a Flatpak lacked functionality.
Snaps are more comparable to nix, really. They can provide system services and even your kernel. Flatpaks and AppImages are only really about distributing desktop apps, but the rest of the system still needs to be provided another way.
I like both flatpaks and appimages why does everything have to be a victory and defeat
why
Because it's nice for devs to have a single package type to build per OS
Why can’t they do that already? Just choose whichever one you want it’s trivial for me to run whichever as a user
Neither Flatpaks nor AppImages can provide those.
what are snaps? - me a linux mint user
~~Afaik snaps are (or should be) actually better in theory~~, but unfortunately its backend is proprietary.
edit: nope, outdated info
app images need to not be called app images. first time seeing it it sounds like some macos thing. but even still I don't see why they get compared so much to flatpak and snap when they are completely different.
They serve the same purpose: Install software, that’s not in your distro‘s repository.
I fucking love appimages. I dont have any issues with Flatpak. I just like appimages more and i can get them for almost all of my stuff. So idk if flatpaks won. But i also dont care.
I used to hate AppImages until I had Snap forced on me. Then i thought AppImages weren't so bad and I fled Snap by running straight into the arms of Flatpak
I prefer appimages, it feels much more "open" than flatpak ever will.
Flatpak: install flatpost and flatseal.
Appimage: Download appimaged appimage to ~\Applications and run once.
then
Flatpak: Go to site for cool software I heard of, see it's flatpak with a link on the page. Click link, wait for flatpost to open, wait for flatpost to update repos, get cool software and possibly another copy of mesa and gnome compat stuff, then head to flatseal to fix drive/device permissions as needed.
Appimage: Go to site for cool software I heard of, see it's an appimage, download said appimage to ~\Applications, appimaged automatically loads in a desktop entry and we're done.
As far as updates, all the appimages that are in active development that I use, offer auto-updating when I open them, plus I'm not reliant on a centrally-controlled repo of the packages (which if it dies, takes all updates with it).
I feel appimage would be an easier adoption for people fresh to linux, as it follows the same model as windows or macos (download executable, install app), even for the initial setup of appimaged.
And either way, there's no "winner" here, if we're playing that game, native installs still win. Every distro supports (and uses) those by default, except for ubuntu, who has money on pushing snaps.
I don't think Flatpak "won". Flatpak makes sense for it's use, but AppImages also make sense for other uses, and even Snap has it's place.
It just happens that Flatpak has become the more "popular" method on many desktop Linux set ups, as Flathub integrates well into software stores and the shared dependencies can be more efficient (if you use a lot of Flatpaks).
AppImages are great for self contained portable apps with minimal local dependencies needed, and especially if something is pretty much "feature complete". They aren't quite as convenient in terms of keeping them updated or integrating into desktop environments seamlessly (they can be if you visit AppImageHub and install the AppImageLauncher - doesn't work for me thought - but even then they're not really as well integrated into desktop environments as Flatpaks have become).
If you were to use lots of programmes, AppImages would potentially take up more space than the same apps in a Flatpak setup because AppImages do not share dependencies while Flatpaks can (if dependencies are the same version). But AppImages are also ultraportable and can run on an even broader range of distros and setups than Flatpaks. AppImages don't require any installed tool locally to run, while Flatpaks need Flatpak installed. Both Flatpak and AppImage are bloaty compared to direct installs from a distros repos, but thats a trade off for their benefits (containerised, easily deployable across different distros etc).
Snap is proprietary particularly around snapd's hardcoded dependence on Canonical servers despite being otherwise open source. So it's not really been embraced by most distros outside the Ubuntu ecosystem, and even then there are Ubuntu derived distros that deliberately remove Snap. Snap does have its strengths in the server space (which Flatpak is not designed ofr), but Docker is the more popular system for this. Snap is still used "widely" in the sense that Ubuntu is widely used and Snap is its default, but outside that ecosystem Docker is much more extensively used (and probably on a lot of Ubuntu servers too). Snap in the desktop set up is also slower than Flatpak due to how it works, which adds to the perception they're "worse". Still Snap is convenient in the Ubuntu server space for deploying software.
Flatpak and AppImages aren't going anywhere. Who knows with Snap; probably not going anywhere?
Linux
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP