Nokia: Qt 5 als Alpha veröffentlicht
Das Qt-Entwicklungsteam hat eine erste Alpha von Qt 5.0 veröffentlicht. Das klassische Applikationsmodell auf Basis von C++ tritt damit zugunsten von QML in den Hintergrund.
Die erste Alpha von Qt 5.0 ist nach neun Monaten Entwicklungszeit mit wesentlichen strukturellen Veränderungen veröffentlicht worden. Zwar soll C++ weiterhin eine wesentliche Rolle in Qt spielen und wurde um die Unterstützung von C++ 11 erweitert. Jedoch soll die Programmiersprache nur noch für die Erweiterung von Qt Quick dienen, das die Hauptkomponente des Frameworks bildet. Die Benutzerschnittstellen werden statt in C++ in QML und Qt Quick geschrieben, das bereits in Qt 4.7 im März 2010 eingeführt wurde. QWidget wird zwar weiterhin unterstützt, wurde aber in eine eigene Bibliothek ausgelagert.
Qt Quick erhält in Qt 5.0 eine neue Architektur, die Scenegraph mit OpenGL verwendet. Ein Gerät muss dazu mindestens OpenGL ES 2.0 unterstützen. Dafür wurden die neuen Klassen QOpenGL eingeführt, die die bislang verwendeten QGL ersetzen. Die neue Klasse QGuiApplication ist schlanker als die verwendete Klasse QApplication. Zudem wurde die Klasse QWindow eingeführt, die für übergeordnete Fenster verantwortlich ist. Die Klasse QPainter aus dem rund sechs Jahre alten Qt 4 wird zwar weiterhin unterstützt, jedoch mit weniger Funktionalität als bisher und muss beispielsweise für OpenGL-Funktionen auf Backends zugreifen und Rasterung per Software erledigen. Außerdem wurden die plattformabhängigen Backends X11 oder Coregraphics entfernt.
Mehr Modularität
Ganz im Sinne der fortschreitenden Modularisierung von Qt wurden sämtliche Qt-Komponenten auf das Qt Platform Abstraction Layer portiert. Die mit Qt 4.8 eingeführte Abstraktionsschicht soll die Integration der grafischen Windowmanager des jeweiligen Betriebssystems vereinfachen. Erste Backends für iOS, QNX und Android gibt es bereits.
Die Kernkomponente Qt Core erhält einen JSON-Parser, der auch binäre Versionen des Javascript-Datenformats einlesen kann. Eine neue Engine verwendet reguläre Ausdrücke, wie sie in Perl verwendet werden. Zwar wurde die Unterstützung für C++ 11 integriert, standardmäßig verwendet Qt 5.0 aber weiterhin einen C++-98-kompatiblen Compiler.
Javascript-V8-Engine und aktuelle Webkit-Version
In Qt Quick wurden grafische Elemente aus den Modulen QML für Javascript in eigene Module ausgelagert. Die beiden neuen Javascript-Klassen QJSEngine und QJSValue verwenden Googles V8-Engine und erhalten damit einen Leistungsschub. QML erhielt ebenfalls einige Geschwindigkeitsoptimierungen. Die neuen Module Qt 3D und Qt Location erweitern die Qt Essentials um 3D-Inhalte und GPS sowie weitere Standortdienste. Die Webkit-C++-APIs haben sich seit Version 4.8 zwar nicht verändert, erhielten aber eine aktuelle Version der Webkit-Engine, die die Kompatibilität zu HTML5 erhöht. In der Alpha für Windows ist dessen Kompilierung bislang noch deaktiviert, da sie noch kompliziert ist. In der bald folgenden Beta soll das aber geändert werden.
In seinem Blogeintrag unterstreicht Lars Knoll, Leiter der Qt-Entwicklungsabteilung bei Nokia, den Beitrag, den die Community beziehungsweise externe Entwickler zu Qt 5 geleistet haben. Er lädt dazu ein, Qt 5.0 Alpha ausgiebig zu testen und Fehler zu melden. Eine Beta soll bald folgen. Einen Termin für die Beta nennt Knoll aber nicht. Die finale Version soll auf dem Qt Contributors Summit vorgestellt werden, der vom 21. bis 23. Juni 2012 in Berlin stattfindet.
Qt 5.0 steht auf der Webseite des Projekts zum Download bereit.
Das Video läuft und zeitgleich ändert man dessen Programmcode und das Video ändert sich...
Idee: GUIs in Maya machen, da kann dann ein echter grafiker ran und man kann auch...
;-) Tja, ich habe den Qt Blog Post zur Alpha gelesen, der weitaus besser geschrieben ist...
Ooooh ja! Da wurd ich schonmal schier zum Hirsch. Und was hab ich jetzt letztendlich...