This is in response to a question from @fernandomaroto in another thread . In order to keep that thread on topic I and answering here.
The advantages of using Flatpaks.
Cited from: http://docs.flatpak.org/en/latest/basic-concepts.html#sandboxes Quote:
Sandboxes
With Flatpak, each application is built and run in an isolated environment, which is called the ‘sandbox’. Each sandbox contains an application and its runtime. By default, the application can only access the contents of its sandbox. Access to user files, network, graphics sockets, subsystems on the bus and devices have to be explicitly granted. Access to other things, such as other processes, is deliberately not possible.”
End Quote
As mentioned above, flatpak applications are dependent on runtimes, which is a set of essential libraries and services. Flatpaks can and do share common runtimes. So flatpaks that share a runtime do not create redundant copies of runtimes. The structure of flatpaks and runtimes is subject to the Freedesktop standards.
Pros:
Flatpak is a distro independent method for packaging and distributing Linux software. Developers release a single flatpak and it can be universally used on any Linux system that supports flatpak.
Software that is not compatible with current system libraries will work when packaged as a Flatpak. An example of that already mentioned in the Endeavour forum is Spotify.
Since each flatpak runs in its own container, version conflicts on libraries and other dependencies are eliminated. Plus this provides better security for both the OS and user.
Delta upgrades make upgrades more efficient in the long run
Cons:
In Arch/Endeavour and most other distros, the flatpaks are not automatically updated.
In Endeavour that simply means you update as follows:
# pacman -Syu
# flatpak update
Since a flatpak runs in its own runtime, what ever theme the developer included is what you get and cannot be changed and is unaffected by the desktop theme. Not a problem for me but might be for some.
Here is what got me interested in flatpaks. In a Fedora Workstation install, all went well until I installed VLC. Then in Firefox whenever I watched a video which required the Cisco H264 codec the audio was totally borked. It turns out that Mozilla insists that it has its own internal version of H264 installed by default. Then when I installed VLC it had a dependency for the H264 codec which came from rpmfusion.org. The two H264 codecs were fighting each other. I uninstalled VLC and reinstalled it as a flatpak. Since the VLC flatpak runs in its own container, it supplied its own desired version of H264 indepenent of the rest of the OS and everyone started playing nice together again.
So I started thinking (look out world). Since the sandbox environment contains everything it needs to run, including libraries, then library and other dependency conflicts will be avoided. So I if a flatpak for a desired application is available, I started using the flatpak. It has worked out quite well for me.
I hope @Bryanpwo doesn’t mind, but since he stated it more eloquently than I can, click and see a quote from Bryan on this subject. I couldn’t have said it better myself.
https://forum.antergos.com/topic/11419/how-to-enable-flatpaks-in-antergos/13
Describing everything about Flatpaks is more than the scope of this thread, but there is a ton of information available on the internet.