Open Source im professionellen Einsatz
Linux-Magazin 04/2014
© Jennifer Swann, 123RF.com

© Jennifer Swann, 123RF.com

Die KDE Frameworks 5 stehen kurz vor der Fertigstellung

Virtuos geschichtet

Seit fast drei Jahren arbeiten bis zu 20 Entwickler an einer generalüberholten Fassung der KDE-Bibliotheken. Das Ergebnis erschien Anfang Februar in einer ersten Alphaversion mit vielen Neuerungen.

603

Die KDE-Bibliotheken fassen Funktionen und Aufgaben zusammen, die für verschiedene KDE-Anwendungen nötig sein können. So kümmert sich beispielsweise »KArchive« um das Packen und Entpacken von Archiven, während die »Solid« -Bibliothek Informationen über die Hardware liefert, etwa den Batterie- und Netzwerkstatus. Diese Bibliotheken sind jedoch im Laufe der Zeit recht pragmatisch entstanden und gewachsen. In der Folge kamen daher viele Abhängigkeiten untereinander und von anderen Libraries hinzu.

Das wiederum brachte gehörigen Overhead mit sich: Will ein Programmierer nur eine einzelne Funktion nutzen, muss er trotzdem gleich mehrere Bibliotheken einbinden. Obendrein stellen die KDE-Entwickler alle Bibliotheken gemeinsam als dickes Paket bereit, Anwender mussten diese »Kdelibs« immer komplett installieren. Außerdem sind die Bibliotheken auch noch auf klassische Desktop-Anwendungen zugeschnitten, was wiederum den Einsatz auf Mobilgeräten erschwert. Diese Situation hat sich bis heute nicht wesentlich geändert, alle Bibliotheken firmieren lediglich unter dem neuen Namen KDE Platform 4 [1].

Abspeckkur

Es musste sich also dringend etwas ändern. Auf dem Entwicklertreffen Platform 11 in Randa (Abbildung 1) setzten sich daher einige KDE-Programmierer zusammen und arbeiteten einen Plan für die nächste Fassung der KDE-Bibliotheken aus. Das war gleichzeitig der Startschuss für die mittlerweile fast dreijährige Entwicklungszeit [2].

© Foto: KDE-ProjektAbbildung 1: Im Jahre 2011 trafen sich KDE-Entwickler im schweizerischen Randa, um die KDE-Libraries zu entwirren.

Als Erstes haben die KDE-Entwickler alle Bibliotheken entschlackt und vor allem die Abhängigkeiten untereinander reduziert. Jede Bibliothek kümmert sich nur noch um eine wohldefinierte Aufgabe. Programmierer sollten sich einzelne Bibliotheken herauspicken und nutzen können, ohne gleich die restlichen KDE-Bibliotheken einbinden und später an die Nutzer mitliefern zu müssten. Wer beispielsweise mit Zip-Archiven hantiert, bindet nur noch »KArchive« ein.

Besonderen Wert haben die Entwickler auf die Plattformunabhängigkeit gelegt: Die Bibliotheken sollen nicht nur auf Linux-PCs laufen, sondern sich möglichst einfach auch auf anderen Geräten wiederverwenden lassen. Die KDE-Entwickler haben dabei natürlich primär Smartphones und Tablets im Auge, aber auch die Windows-Plattform.

Geschenke von außen

Ende 2011 führte Qt das Open Governance Model ein [3]. Dies ermöglichte es den KDE-Entwicklern, sowohl aktiv bei der Entwicklung von Qt mitzuhelfen als auch Code aus den KDE-Bibliotheken in das Qt-Projekt einfließen zu lassen. Letzteres hat gleich zwei Vorteile: Qt-Programmierer profitieren von den zusätzlichen Funktionen, während umgekehrt die KDE-Bibliotheken schrumpfen und sich ihre Abhängigkeiten untereinander verringern. Ein KDE-Programm kann jetzt viel häufiger direkt auf Qt aufbauen und muss nicht noch eine KDE-Bibliothek einbinden.

Als Paradebeispiel nennt Jos Poortvliet (Abbildung 2), Leiter des KDE-Marketing-Teams, in einem seiner Blogbeiträge den Code für die Zeitzonen [4]: Nachdem dieser aus den KDE-Bibliotheken in die Klasse »QDateTime« gewandert ist, können insbesondere die Bibliotheken für das Personal Information Management direkt Qt nutzen. Das machte wiederum auf einen Schlag die Bibliotheken »KDateTime« , »KTimeZone« und »KLocale« überflüssig.

© Foto: Markus FeilnerAbbildung 2: Open Suses Community-Manager Jos Poortvliet – hier bei einem Vortrag in Thessaloniki – ist zugleich Mitglied des KDE-Marketing-Teams und bloggt gerne über die kommenden Frameworks.

Aufgrund dieser massiven Vorteile haben die KDE-Entwickler ihre Bibliotheken nach Quelltext untersucht, der sich für eine Integration in Qt eignen könnte. Den so identifizierten Code überarbeiteten sie vor der Übergabe gründlich und prüften ihn mit neuen Tests. Dass da viel Arbeit drinsteckt, zeigt eine lange Liste mit den Beiträgen der KDE-Macher zu Qt im KDE-Community-Wiki [5]. Der Austausch von Code zwischen KDE und Qt läuft weiter, die KDE-Entwickler dürften also auch in Zukunft maßgeblich bei der Weiterentwicklung von Qt mithelfen – und davon profitieren.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.