Flatpak vs Snap

I look at the differences between Flatpak and Snap in terms of what you should use and what they look like. I say this because many of my observations almost exactly match an earlier article by kmi titled "Adoption of flatpak vs snap: 2018 issue."

Hey folks, I created a feedback article suggesting that Unity Devs use both Flatpak and Snap, two popular open source packages for Linux distributions. Different Linux operating systems can support one or the other instead of one of the others by default. The developers of Snap and flatpak say that they hope to reduce the fragmentation that makes it difficult to package applications for a Linux distribution, so that there may be no packages. Users can either install flatpack or play their application on another operating system such as Ubuntu, Debian, Fedora, or Red Hat Enterprise Linux.

Snap and Flatpak are part of AppImage and OrbitalApps, which are also the most important open source packages for Ubuntu, Debian, Fedora, Red Hat Enterprise Linux and Linux Mint.

This strategy enables all the advantages mentioned above and will bring much more software than it already has, but it has a different focus. Snap offers more security, and developers don't have to worry about targeting the distribution version they're on. AppImage has the same security features, while Orbital Apps is designed to make apps portable so they can run on a USB stick or another computer. Both have default Debian packages, and the limitation that Snap has is much greater than the limitation of Flatpak to the Linux Mint and Red Hat Enterprise Linux distributions.

The transition from Snap to Chrome will be much more difficult than with Flatpak, as the transition between Snap and Chromity will not be as easy as moving to a supported version of a new version of Chrome.

The container contains all the necessary dependencies to run the application, which means that the user does not have to worry about going into the dependency hell while installing new software. If libraries are part of memory, Snap is independent of your application: it loads everything, loads the libraries, and when they are ready, it is ready to load everything.

At the moment I have a few Snaps installed on my computer, one of them is the Slack Desktop Client, which I use every day. Some software that was not previously available under Linux is available in the Snap Store, where I found the software in this format.

Since SiFive released the development board with a CPU-based CPU in 2018, Debian and Fedora have started porting their distributions to work on the board. If you are using the Snap Store and not the official Debian or Fedora distribution, the application will run without taking files or copying them to other target systems, eliminating the need to manage the software differently for different distributions.

If you want to use a new format without central software management, it is possible to set up and use your own central component without much effort. The files you create are available in a single file format, not multiple formats, and disk space and mass storage are no longer an issue, as they no longer cost the world as much as they used to.

What makes flatpak different from Snapcraft and AppImage is that it brings a shared, constantly updated runtime into the picture, a library that makes it easy to steam off - install and make available on any distribution that is not Ubuntu. To reduce the file size of your app, you need to bundle library and runtime, creating a much cleaner auto-update experience. I thought that a system that uses App Image as the most important software management tool would be a pain and I would have to replace it with a different installation every few months.

With AppImage and FlatPak, however, the Snap Store is begging from the Snap Store and a new repo is added for each new version of the app.

AppImages and Snap are usually smaller than Flatpak apps and always remain compressed, but are only compressed on the server side. Only AppImage apps update themselves, while Snap apps install snapd and install FlatPak app Flatpack. AppImages in Snap remain compressed All the time and 3 supports binary delta updates. Apps packed with the 3 methods can be easily copied to any computer and have multiple versions running in parallel.

Flatpak calls a number of libraries at runtime, while Snap calls them at compilation time, and Flatpak calls them at runtime.

This article will list the main differences between the three packages in 2018, and we will jump even further towards a distribution solution - an independent package installation solution. Installing applications under Linux is as easy as opening the Software Center, searching for an application, installing and then reinstalling the application.

Ubuntu, RedHat, AppImage