Qt hält Software plattformneutral

01.12.2006
Von Christian Dietrich

Die letzten Hürden

Über diesen Weg sind alle kritischen Hindernisse aus dem Weg geräumt. Es verbleiben noch einige kleinere Probleme, die sich durch entsprechendes Know-how leicht umgehen lassen. Hierzu zählt zum Beispiel die Anpassung der Anwendung an typische Eigenschaften des Betriebssystems, etwa das Speichern persistenter Betriebssystem-unabhängiger Settings. Eine viel versprechende Lösung besteht darin, die Klasse QSetting, die das Speichern und Lesen unterschiedlicher Datentypen unterstützt, zu verwenden. Während der Qt-basierende Quellcode identisch ist, werden die Settings von der Qt-Library Betriebssystem-typisch gespeichert.

Manipulierte Verzeichnisnamen

Weitere minderschwere Fehlerquellen sind die Verzeichnisstruktur und die Pfadangaben, denn beide sind Betriebssystem-abhängig. Eine plattformunabhängige Schnittstelle bietet die Klasse Qdir, welche die Manipulation des Verzeichnisnamens unterstützt. Dies sorgt für den Ausgleich einiger Betriebssystem-spezifischer Unterschiede. Der Mehraufwand für die Erstellung des Frameworks ist somit verhältnismäßig gering. Komplett sparen kann man sich den Extraaufwand für das Erzeugen der Binärdateien sowie das Testen der Software auf unterschiedlichen Betriebssystemen. Trotzdem lässt sich das Produkt sehr schnell auf weiteren Plattformen kompilieren und anbieten.

Fazit

Im Bereich der Standardsoftware wächst die Plattformunabhängigkeit inzwischen zu einem zentralen Thema heran. In vielen Fällen erhöht gerade sie die Akzeptanz der Software, da Anwender ein vertrautes Programm auf verschiedenen Systemen verwenden können. Prominente Beispiele sind der Internet-Browser Firefox, das E-Mail-Programm Thunderbird, das Grafikprogramm Gimp sowie das Office-Paket Openoffice.

Ähnlich sieht es im Bereich Individualsoftware aus. Hier ist es wichtig, den Aufwand einer nachträglichen Portierung gering zu halten und bei Bedarf schnell auf die Wünsche der Anwender reagieren zu können. Das Problem, die im C++-Sprachumfang fehlenden Funktionen zur Darstellung der grafischen Steuerelemente, kann über den Zugriff auf systemabhängige Bibliotheken wie MFC oder OSF/Motif gelöst werden. Eine andere Möglichkeit ist zum Beispiel die Verwendung des Qt-Toolkits als Bibliothek mit plattformunabhängiger Schnittstelle.