Qt 5.0 ...
Qt 4.x ist eine zuverlässige Plattform – leider erfolgte ihre grundlegende Entwicklung zu einer Zeit, als das Benutzerschnittstellendesign noch in den Kinderschuhen steckte und sich auf das Kombinieren vom Betriebssystem vorgegebener Widgets beschränkte. Die rasante Entwicklung von zunehmend leistungsfähigeren Mobilcomputern fordert in diesem Bereich ihren Tribut – langsame Hauptprozessoren und leistungsstarke Grafikchips verlangen beim Realisieren ansprechend animierter GUIs ein Umdenken auf Seiten der Entwickler.
Die mit Qt 4.7 neu eingeführte Skriptsprache QML trägt diesem Trend Rechnung. Sie erlaubt das aufwandslose Erstellen von GUIs in einer an eine Mischung aus JavaScript und HTML erinnernden Markup-Sprache.
In Qt 5.0 erfolgt eine wesentliche Neustrukturierung der Sprachhierarchie. Während in Qt Quick erstellte Elemente bisher als Teil einer QWidget-Infrastruktur auftraten, rendert Qt 5.0 direkt mit der GPU. Der Effekt davon ist eine wesentlich höhere Performance zur Laufzeit.
Zusätzlich beschleunigt Digia das JavaScript-Parsing durch die von Google entwickelte Virtual Machine V8. Sie ersetzt die bisher verwendete Engine aus QWebkit und soll die Leistung bei der Ausführung von in JavaScript gehaltener Geschäftslogik wesentlich erhöhen. Ein Qt3D genanntes Modul erleichtert darüber hinaus das Erstellen von 3D-Effekten in GUI-Anwendungen.
In Summe ist davon auszugehen, dass das bisher als reines C++-Framework wahrgenommene Qt die Programmiersprache JavaScript ab sofort als "prime citizen" betrachtet. Inwiefern die Verwendung der klassischen Widgets in Qt 5.0 vorgesehen ist, ist derzeit nicht in Erfahrung zu bringen – je nach befragter Person bekommt man eine andere Antwort. Die derzeit offizielle Position ist, dass Widgets am Desktop "first class citizens" seien – im Mobil- und Embedded-Bereich müssen sie nicht unbedingt verfügbar sein.
... in Teilen ...
Zur Erleichterung der Portierung der Plattform steigert Digia die Unterteilung der einzelnen Pakete. Statt Qt einfach in Module zu unterteilen, sind die Bauteile ab sofort in mehrere Klassen eingeteilt. Alle als "Qt Essentials" bezeichneten Module sind dabei auf allen Plattformen verfügbar und werden so gut wie möglich unterstützt. Das bedeutet, dass eine Anwendung, die sich nur auf diese Elemente beschränkt, beim Portieren minimalen Aufwand verursacht.
Im Bereich "Qt Tools" finden sich Entwicklungswerkzeuge wie qMake. Sie müssen zumindest auf allen Desktop-Plattformen lebensfähig sein.
Die "Qt Addons" umfassen alle anderen Bibliotheken, die das Qt-Projekt wartet und verwaltet. Hier geht es oft um plattformspezifischen Code – es ist also durchaus möglich und legitim, dass ein Addon nicht für alle Betriebssysteme zur Verfügung steht.
...und im Beta-Test
Lars Knoll bei seiner Keynote
Bild: KDAB
Um die Unterstützung des Kongresses noch deutlicher zu demonstrieren, kündigte Lars Knoll im Rahmen seiner Keynote die Verfügbarkeit der zweiten Beta-Version von Qt 5.0 an. Sie erreicht laut Digia eine extrem hohe Abwärtskompatibilität – anders als beim Sprung von Qt 3 zu Qt 4 scheint es hier keine größeren Binär-Inkompatibilitäten zu geben.
Das neue Modul Qt3D ist noch nicht Teil der Beta. Wer es ausprobieren möchte, muss es separat herunterladen – der Quellcode ist bereits verfügbar und ist einfach zu kompilieren.
Fazit
Qt scheint den Weggang von Nokia gut zu verkraften – der Kongress war trotz nicht allzu aggressiver Bewerbung ausverkauft, es gab auch vor Ort keine Eintrittskarten mehr.
Die Auslagerung der Entwicklung an Digia erweist sich im Sinne des Multi-Plattform-Supports als guter Zug. Vor allem da sich der Kampf im Mobilmarkt durch neu startende Teilnehmer (Windows Phone 8, TiZen und Firefox OS) weiter verschärfen wird, kann Qt so weiter relevant bleiben. Der Vorteil der erleichterten Portierung zwischen Desktop und Mobilsystem ist nur das Sahnehäubchen.
QtStudios plant, die Keynotes demnächst auf YouTube zu veröffentlichen. Weitere Videos sollen auf dem offiziellen Qt-Blog erscheinen.
(jul)
Tam Hanna
befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handheldcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenews-Dienste zum Thema und steht für Fragen, Trainings und Vorträge gern zur Verfügung
Ab sofort kann man sich mit Vorträgen für die neue Konferenz zu Agile ALM, Continuous Delivery und DevOps bewerben.
Am 5. und 6. Juni trifft sich in Toulouse die Eclipse-Community zur Erstauflage der EclipseCon France. Bis 26. Mai kann man sich noch zum Frühbucherpreis registrieren.