The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.
That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.
All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.
Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.
AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.
That was a fantastic explination, but you forgot to explain SNAP. Oh snap, you forgot SNAP. Intrusive though won. So what is SNAP, how does it work, and why is it bad?
snaps are very similar to flatpaks and, honestly, is technically better in a lot of ways.
Snap can be used for basically an entire system, while flatpak is limited to graphical apps. (Ubuntu core is built basically entirely off snaps.)
Snap is controlled by canonical, and the backend for the snap repo is entirely closed source. I’ve heard snaps are also easier for developers to work with, but I haven’t experienced that side of them.
Snaps automatically update by default where flatpaks don’t.
Snaps also get treated as loopback devices when they’re installed, which bloats a lot of utilities. (And they keep a few old versions around which makes it even worse). For example, you could run lsblk and if you’re using snaps like 90% of it will be snaps you’ve installed instead of actual devices.
Flatpaks are also noticeably faster to start up, which for desktop apps matters, but wouldn’t really matter for a server that’s aiming for a lot of uptime.
The loopback device issue is the main reason I don’t use snaps. I also like flatpak being completely open, but realistically that doesn’t matter for much. There used to be an open snap store, but that shut down because nobody used it.
The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.
That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.
All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.
Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.
AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.
That was a fantastic explination, but you forgot to explain SNAP. Oh snap, you forgot SNAP. Intrusive though won. So what is SNAP, how does it work, and why is it bad?
Yeah, sorry couldn’t resist.
snaps are very similar to flatpaks and, honestly, is technically better in a lot of ways.
Snap can be used for basically an entire system, while flatpak is limited to graphical apps. (Ubuntu core is built basically entirely off snaps.)
Snap is controlled by canonical, and the backend for the snap repo is entirely closed source. I’ve heard snaps are also easier for developers to work with, but I haven’t experienced that side of them.
Snaps automatically update by default where flatpaks don’t.
Snaps also get treated as loopback devices when they’re installed, which bloats a lot of utilities. (And they keep a few old versions around which makes it even worse). For example, you could run
lsblk
and if you’re using snaps like 90% of it will be snaps you’ve installed instead of actual devices.Flatpaks are also noticeably faster to start up, which for desktop apps matters, but wouldn’t really matter for a server that’s aiming for a lot of uptime.
The loopback device issue is the main reason I don’t use snaps. I also like flatpak being completely open, but realistically that doesn’t matter for much. There used to be an open snap store, but that shut down because nobody used it.
I tried to install Ubuntu and it kept uninstalling Command Center every reboot. Not a fan of SNAPs. Or Canonical. But thanks for the explination.