Aus Linux-Magazin 06/2006

Software entwickeln unter Linux

jorokm / photocase.de

Je weniger Desktop-Technologien an Gnome oder KDE gebunden sind, umso leichter wird das Leben für den Linux-Anwendungsentwickler. Das Portland-Projekt stellt ihm Desktop-übergreifende Basisfunktionen zur Verfügung, vom Mailversand bis zum Adressbucheintrag.

Inhalt
116 | Kipi-Plugins KDE bietet für seine Bildprogramme eine einheitliche Plugin-Schnittstelle.

120 | Perl-Snapshot Diesen Monat kalibriert der Autor eine Webcam, vergleicht die Bilder miteinander und sucht die wichtigsten aus.

126 | GCC 4.1 Die neue GCC-Version enthält einen handgeschriebenen C-Parser und unterstützt Objective C++.

130 | Python und Sudoku Das Backtracking-Verfahren löst komplexe Aufgaben wie das japanische Logikrätsel Sudoku.

134 | Coffeeshop Bildbearbeitung mit eigenen Java-Programmen.

Immer nur streiten bringt auf Dauer wenig. Deshalb finden KDE- und Gnome-Programmierer öfter zusammen, als man denkt – Polarisierungsversuchen von Desktop-Außenseitern wie Linus Torvalds zum Trotz [1]. Katalysator dieser Annäherung ist häufig das Freedesktop-Projekt, das Technologien etablieren und standardisieren will.

Wer ist zuständig?

Neuestes Produkt seiner Aktivitäten ist die Dapi-Bibliothek des Portland-Projekts [2]. Sie stellt eine Reihe von Funktionen zur Verfügung, die moderne Desktop-Anwendungen häufig benutzen, zum Beispiel das Öffnen von URLs (in dem vom Benutzer eingestellten Standardbrowser), das Verschicken von E-Mails und Ähnliches. Derzeit befindet sich Portland zwar noch ganz am Anfang der Entwicklung, Anfang April gaben die Entwickler trotzdem schon eine funktionierende Technology Preview heraus.

Dapi besteht aus zwei Komponenten: erstens der statischen Bibliothek »libdapi.a« und zweitens einem Daemon, der den Desktop-Anwendungen seine Dienste anbietet. Programme, die sie nutzen möchten, stellen mit »dapi_connectAndInit()« eine Verbindung zum Daemon her und lassen sich dann beispielsweise mit »dapi_AddressBookList()« die Adressbücher des aktuellen Benutzers auflisten.

Der Programmierer muss sich also nicht um Implementations- oder API-Details dutzender Address-Programme beider Desktops kümmern.Ähnlich lässt sich mit »dapi_SuspendScreensaving()« der Bildschirmschoner aus- und einschalten, zum Beispiel von Videoplayern, die ja normalerweise lange Zeit keine Tastatur- oder Mauseingabe erhalten.

C-API oder Skripte

Da sich ein Anwendungsprogrammierer natürlich nicht blindlings auf das Vorhandensein aller Funktionen auf jedem Desktop verlassen darf, bietet Dapi auch eine Möglichkeit, die vorhandenen Fähigkeiten zu erfragen. Die Funktion »dapi_Capabilities()« gibt eine Struktur »capabilities« zurück, die sich durch eine Schleife schicken lässt.

Neben dem C-API enthält die Technology Preview von Portland unter dem Namen Xdg-Utils eine Sammlung von Shellskripten mit ähnlichen Funktionen, die eigene Programmen nutzen können. So verschickt etwa das Skript »xdg-email« eine E-Mail über die eingestellte Standard-Mailanwendung.

Wer den D-Bus-Artikel im letzten Linux-Magazin gelesen hat, wird sich vielleicht fragen, wo der Unterschied zwischen den beiden Technologien liegt. Beide kümmern sich ja um Interprozesskommunikation auf dem Desktop. Beide verwenden dazu eine festgelegte Schnittstelle und einen Daemon.

Diese Parallelen sind natürlich auch den Dapi-Entwicklern nicht entgangen und sie haben ihre Gedanken dazu auf einer Webseite dokumentiert, der Portland-Homepage [3]. Der größte Hinderungsgrund für die Verwendung von D-Bus als Infrastruktur für Dapi scheint zurzeit das instabile D-Bus-API zu sein. Nähert sich D-Bus der Version 1.0, könnte Dapi durchaus umschwenken. (csc)

Infos
[1] Torvalds vs. Gnome: [http://mail.gnome.org/archives/usability/2005-December/msg00022.html]

[2] Portland/Dapi: [http://portland.freedesktop.org]

[3] Dapi und D-Bus: [http://portland.freedesktop.org/wiki/OpenQuestions]

Copyright © 2002 Linux New Media AG

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben