Package Management
What is a Package Manager
From wikipedia:
A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.
apt / dpkg
Used in Ubuntu / Debian and their derivatives.
Read more: apt / dpkg Cheatsheet
Snap
Snaps now work natively on Arch, Debian, Fedora, and different flavors of Ubuntu.
Unlike Flatpak, Ubuntu's Snappy tools are equally suitable for packaging command-line programs and operating system components.
Why Snap
"With snap packages, applications are installed in their own container, and all the third-party applications are installed with them so there are no version conflicts." This allows users to update and roll back applications without causing problems to the rest of their operating system. It also comes with security benefits because applications are more isolated from each other and from core parts of the OS than they normally would be.
How to Create Snap Package
Flatpak
"The Future of Apps on Linux".
Flatpak is strongly aimed at graphical desktop applications.