Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles

Universal cross-distro itch.io Linux deployment

A topic by polygamouswolf created Apr 22, 2017 Views: 286 Replies: 4
Viewing posts 1 to 4

Flatpak, Snap, and AppImage are three great ways to deploy to all Linux distros, so you don't have to release DEBs and RPMs and others, but instead only a single one for all. Each of these have things going for them, although I'd tend to lean towards Flatpak or AppImage. I think they all support automatic updates (like repositories) and many other features. Check them out here:

http://appimage.org/

http://flatpak.org/

https://snapcraft.io/

Adding to this, I believe AppImages should work without having to install anything - that's how all of the AppImages I've run worked, anyway.

(1 edit)

Id like to add that some of the differences are AFAIU:
Appimage - Distributed. Non-updating - like exe files in Windows or dmg in macOS. By default doesnt have any sand-boxing. Therefore less safe install stuff, but also less of a hassle when youre not used to sandboxing.
Snap - Centralized - So maybe software is checked better before becoming available, but theres also a single chokepoint for stuff getting in. Updating built in. Sandboxed.
Flatpak - Distributed. Updating built in. Sandboxed.

Snap is centralized, as in Canonical has control over all apps that want to become snap packages?  If so, that's not a real standard, and should definitely not be considered for use!  You definitely should not need to ask Canonical for permission to package and distribute your own application on your own or any other website.

Just wanted to point out that the debs are gone, replaced by a simple binary installer that's click-to-run simple.  This is a better cross-distro solution than debs/rpms/etc!

If the client has self-updating features in it, then you don't really need to have this be run in other ways.  At this point, the only missing features are sandboxing of the installer itself, and having a nicer way to uninstall it via the system's uninstaller.  This could all be accomplished with flatpak if flatpak even sandboxed things by default.  At least on Linux Mint, flatpak sandboxing isn't enabled by default, or at least it's not very restrictive if it is!