Everyone at some point we dropped an App recommended by someone or seen somewhere a file ending .Flatpak, .Snap or .AppImage. Here are three standards or formats which currently struggling to define as the Universal format that runs on all Linux distributions. Although we have already written articles on some of them, today at least try to explain the major differences between them.
What is .Flatpak and how it works?
Flatpak is a relatively new format and has been created from scratch, which means that all the code is new and emphasizes safety above all. It allows users to run applications built in this format regardless of what distribution of Linux are using. This format is built and designed to isolate applications from each other and from the rest of the system.
It works in principle similar to how they did and other formats of older packages, for example the application is packaged with all its dependencies in a single package mode. But also within a Flatpak application exists a collection of "runtimes" and "libraries" shared between multiple Apps in the system, which means the user does not have to worry about what to do with updates in a specific distribution. This also implies Flatpak advantage over other formats such elements as sharing applications created in Flatpak occupy less disk space than other formats styles explained here.
Flatpak however has its weak side, applications created in this format often have a somewhat less rapid than those in other formats boot, besides these sometimes do not respect the theme chosen by the user window in the system.
.Flatpak Deepin has adopted the format as their preferred format and default in all native applications. (Although the user is free to use the format you prefer. Both .flatpak and deb versions are available at the store with each release of a new native application and created by Deepin for its users. While users of other distributions they can also install the version .flatpak their systems if they wish.)
What is .Snap and how it works?
Like other formats explained today, Snap packages can run on most distributions, including of course Deepin. These however unlike .Flatpak come with all its "dependencies", "runtimes" and "libraries" contained within the package which considerably increases the weight or size of the app thus consuming more disk space. A Snap package is practically a virtual machine dedicated to specific App. Users of applications built on Snap must wait for distribution to validate the package and approval before they can be used safely without fear of security issues (although the user is still free to install the application but not this day regarding safety) which means a delay in catching security patches for the application or simply to use the latest version of this.
An advantage of the Snap packages however is the speed with which these run once installed in the system and have run at least once. (It is noteworthy that the first time the user opens the application will receive a considerable slow start in the first try, but this is only the first time, then the application will run almost as fast as an ordinary .deb package) Snap is very popular at this time, but it remains to be seen how long Canonical (creative signing it) will support the format.
What is .AppImage and how it works?
There is also a packaging format called AppImage that like Snap contains all its "dependencies", "runtimes" and "libraries" contained within the package itself indeed also making almost a virtual machine dedicated to the app specified for the which it has been created. When an application .AppImage low unlike other formats no need to even install it. You simply click twice on the file and must immediately run at full speed (even the first time you open it).
The two major disadvantages of AppImage however are as follows: Such applications also take up considerably more disk space than for example those built in .Flatpak. Moreover, and this is of great importance to users particularly Deepin It is that Deepin Files (Files Explorer Deepin) does not support natively AppImage. so if you try to open a file ending .AppImage you encounter a Deepin Files message telling you that there is no App associated with that file type and you must choose one. Of course there is some App for that. The solution for now is to put the mouse over the file in question click on the right side and in the new window check or select where it says: "Allow Program Run As." Once this is done, the application should run smoothly Deepin.
It's good to have competition in that field since for some perhaps a specific format is more convenient because the available resources or run better on your computer than with other formats etc. For example, on my machine the office suite LibreOffice .Snap format is the only one that supports my monitor HiDPI (4K).
Now that you know the main differences between universal Linux packages which dinos prefer and why through a comment. We'd love to hear your opinion. Do you think Deepin has chosen the right option to support the format .Flatpak ?.