[Allgemein] Gnome-Entwickler planen eigenes App-Format

  • Die Gnome-Entwickler planen ein eigenes App-Format, welches Entwicklern das Integrieren ihrer Software und Nutzern das Installieren erleichtern soll.


    Mit Hilfe eines eigenen App-Fomates könnten Entwickler ihre Programme ähnlich wie Smartphone-Apps in Form von Distributions-unabhängigen Dateien zur Verfügung stellen, die sich einfach installieren lassen. Die Pläne dafür wurden, ebenso wie die Einigung auf Javascript als Standard-Programmiersprache für die Gnome-Anwendungsentwicklung, auf dem Gnome Developer Experience Hackfest 2013, das der FOSDEM Konferenz in Brüssel vorgelagert war, ausgearbeitet.


    Eine Besonderheit bestünde darin, dass sich Apps mittels einer Sandbox-Technik effektiver voneinander und vom Rest des Systems isolieren ließen, als das bei gewöhnlichen Anwendungen der Linux-Distributionen bisher der Fall ist. Nach den Vorstellungen der Gnome-Entwickler soll eine Linux-App aus einer einzigen Datei bestehen, einer Art »App Image«, in dem das ausführbare Programm und die von diesem benötigten Bibliotheken und Konfigurationsdaten-Dateien stecken. Zusätzlich soll das App-Image eine Manifest-Datei enthalten, die über die Programmierschnittstellen informiert, die auf dem System existieren müssen, damit die App funktioniert. Ein Eintrag wie »Bare« könnte beispielsweise bedeuten, dass die App nur das Kernel-ABI benötigt, während etwa »system« einige Standard-Bibliotheken voraussetzen würde, die jede Linux-Distributionen per Default mitbringt. Ein Eintrag »gnome-platform-1.0« hingegen würde signalisieren, dass das Programm den kompletten Satz an Programmierschnittstellen braucht, die das Gnome-Projekt kennt.


    Der Gnome-Entwickler Alexander Larsson beschreibt in einem Blog-Eintrag einige Grundsatz-Überlegungen zum neuen App-Format. Demnach sollen zur besseren Isolation der Apps die auch für Container benutzten Techniken zum Einsatz kommen. Damit wäre es möglich, jedes App-Image in einen »eigenen Bereich« einzuhängen, der laut Manifest nur die konkret benötigten Programmierschnittstellen zur Verfügung stellt und beispielsweise keinen direkten Zugriff auf das Home-Verzeichnis des Anwenders hat.


    Ferner soll es so genannte »Portale« zum Datenaustausch mit dem System oder zur Interaktion mit anderen Apps geben, die so ähnlich wie die Intents bei Android funktionieren könnten. So könnte etwa das System eine Portalfunktion wie »Datei öffnen« oder »Foto aufnehmen« anbieten, welche durch andere Apps aufgerufen würde. Der Portal-Anbieter würde nur dann Zugriff gewähren, wenn das der Anwender erlaubt. Im Beispiel »Datei öffnen« würde etwa der »Datei-Öffnen«-Dialog des Systems als Portal-Anbieter fungieren. Die jeweilige App würde die Datei dann erst erhalten können, wenn der Anwender die »Öffnen»-Schaltfläche betätigt hat. Der Portal-Datenaustausch könnte über ein D-Bus-ähnliches IPC-Protokoll (Inter-Process Communication) passieren. Derzeit existieren zwei dafür in Frage kommende Lösungen, die allerdings beide unabhängig vom Linux-Kernel gepflegt werden, da die Kernel-Entwickler sie ablehnen. Andererseits war der Kernel-Entwickler Greg Kroah-Hartman explizit auf dem Hackfest zugegen, um bei der Entwicklung einer solchen Lösung helfen zu können.


    Da bisher die Linux-Distributionen selbst für das Bereitstellen von Anwendungs-Software in Programmpaketen verantwortlich sind, die sich ebenfalls recht einfach handhaben lassen, dürfte der Vorschlag der Gnome-Entwickler nicht allerorten Begeisterung auslösen, in jedem Fall jedoch für reichlich Diskussionen sorgen. Seit Jahren in Entwicklung befindliche Lösungen wie Autopackage, AppStream oder das Listaller-Projekt von Mattias Klumpp zeigen auf der anderen Seite, dass es zum Einspielen nicht zur jeweiligen Distribution gehörender Software durchaus Bedarf für eine Distributions-übergreifenden Lösung gibt. Jedenfalls scheinen die internen Planungen der Gnome-Enwickler schon weiter zu sein, als den Äußerungen in den Blog-Einträgen zu entnehmen ist.


    Quelle: Pro-Linux

    Gruess Suse-Newbie

    Für den Inhalt des Beitrages 51987 haftet ausdrücklich der jeweilige Autor: Suse-Newbie