Bereitstellung von Linux-Desktopanwendungen für die Zukunft: Flatpak und Snap
Es war einmal, dass GNOME und KDE sich wie Katzen und Hunde verstanden. Das war damals. Das ist jetzt. Auf dem Linux Application Summit (LAS) in Barcelona trafen sich die beiden zusammen mit anderen Desktop-Entwicklern, um den Linux-Desktop zu einem freundlicheren Ort für alle Anwender zu machen. Eine wichtige Möglichkeit für Entwickler ist die Verwendung von Snap und Flatpak zur Bereitstellung von Programmen.
Ein Problem, das beide angehen, ist, wie man es unabhängigen Softwareanbietern (ISVs) erleichtern kann, Programme für Linux-Anwender bereitzustellen. Bis vor kurzem mussten Sie Linux-Desktop-Programme für jede einzelne Distribution und ihre verschiedenen Versionen selbst entwickeln. Unnötig zu sagen, dass die meisten ISVs sich die Mühe nicht machen wollten. Wie NextCloud-Gründer und ehemaliges KDE-Vorstandsmitglied Frank Karlitschek auf der LAS sagte, gibt es nur vier- oder fünfhundert Linux-Anwendungen im Vergleich zu Zehntausenden unter MacOS und Windows, da es für ISVs schwierig ist, Linux-Desktopprogramme herzustellen.
Die Antwort, die auf der LAS ausführlich diskutiert wurde, bestand darin, traditionelle Wege der Bereitstellung von Linux-Desktop-Anwendungen wie DEB- und RPM-Paketmanagementsystemen für die Debian- und Red Hat-Linux-Familien durch containerisierte Pakete zu ersetzen. Insbesondere Snap und Flatpak. Es gibt auch andere neuartige Programmpacksysteme, insbesondere AppImage, aber die LAS-Teilnehmer haben ihnen nicht viel Aufmerksamkeit geschenkt.
Beides hat den Sinn, den Desktop-Entwicklern das Leben zu erleichtern. Alexander Larsson, der Gründer von Flatpak, erklärte: „[Es ist] hauptsächlich für App-Entwickler, aber Benutzer können es nutzen. Es macht es für Entwickler einfacher, Apps an Benutzer zu versenden.“ Flatpak funktioniert designorientiert sowohl mit GNOME als auch mit KDE.
Andererseits waren Snaps ursprünglich für das inzwischen abgekündigte Ubuntu Touch Smartphone-System oder für IoT-Geräte gedacht. Es sollte das Ziehen, Ablegen und Ersetzen von eingebetteten Programmen erleichtern. Dann sagte Alan Pope, Canonicals Community-Manager für Ubuntu Engineering Services: „Wir haben erkannt, dass es auch für die Bereitstellung von Desktop-Anwendungen gut funktionieren würde. Sie können Node.JS Snap-Installation und bereit sein, JavaScript-Anwendungen zu erstellen.“ Wie Flatpack, „Es geht mehr darum, Entwickler zu befähigen, ihre Pakete sehr schnell in die Hände der Benutzer zu bekommen. Sie müssen sich keine Sorgen um die Verteilung machen.“
Anwendungen, die von beiden bereitgestellt werden, laufen in einer virtuellen Sandkiste. Das macht die Anwendung sicherer. Sie können auch auf jeder Desktop-Distro laufen. Weder Anwender noch ISVs müssen sich um die zugrunde liegende Distribution oder deren Version kümmern, da alle für die Anwendung benötigten Komponenten bereits im Paket enthalten sind.
Beide machen es den Benutzern auch leicht, die neueste Version ihrer Lieblingsprogramme zu haben. Wie der Papst sagte: „Es ist wie auf meinem Android-Handy. Ich möchte die neueste Version von Spotify und das Gleiche gilt für meinen Desktop. …. Benutzer wollen keine Torwart-Distro, die die neuesten Updates zurückhält.“
Flatpak kommt von Red Hat, Endless Computers und Collabora-Entwicklern. Um Flatpak-Apps zu erhalten, musst du zu Flathub gehen. Dies ist das offizielle Repository aller Flatpak-Anwendungspakete.
Snap wurde von Canonical entwickelt, das immer noch einen festen Überblick über die Serverseite seines Ökosystems hat. Für abgefangene Anwendungen müssen Sie in den Snapstore gehen.
Beide werden auf Linux-Desktop-Distributionen weitgehend unterstützt. Tatsächlich verlassen sich Endless OS und Fedora Silverblue bei der Verteilung von Anwendungen vollständig auf Flatpak. Beide wurden auch kritisiert, weil sie zu langsam sind, zu speicherhungrig und nicht sicher genug.
Während man darüber streiten kann, welches besser ist, schienen die Programmierer bei LAS weitgehend gleichgültig zu sein – obwohl die meisten mit Karlitschek übereinstimmten („Warum haben wir zwei davon? Warum können wir keinen haben?“).
Abgesehen davon war es bei LAS kristallklar, dass diese beiden die Zukunft der Linux-Anwendungsbereitstellung sein werden. Es macht das Leben für Entwickler von Desktop-Anwendungen so viel einfacher, dass es kein Zurück mehr gibt. Wird es ausreichen, 2020 zum Jahr des Linux-Desktops zu machen? Das ist eine andere Frage. Sicher ist, dass dieser neue Ansatz es für ISVs wesentlich einfacher machen wird, mehr Anwendungen in die Hände von Linux-Anwendern zu bekommen. Und für Linux-Desktop-Fans ist das eine gute Sache.