Menü
Developer

Vorschau auf Qt for iOS

vorlesen Drucken Kommentare lesen 88 Beiträge

Die Qt-Entwickler haben Details zu den Plänen bekannt gegeben, wie sie die iOS-Implementierung des GUI-Entwicklungs-Framework als neue Komponente einbinden wollen. Das Framework zum Entwickeln von Oberflächen für iOS-Geräte – Qt for iOS – soll erstmals mit Qt 5.2 unterstützt werden, das Ende 2013 erscheinen soll. Der genaue Termin hängt von der Verfügbarkeit der Ressourcen und dem Freigabeprozess in Apples App Store ab. Das bald erscheinende Qt 5.1 enthält offenbar eine erste Preview der iOS-Implementierung.

Die Entwicklung und vor allem das Deployment von iOS-Apps soll mit Apples Entwicklungsumgebung Xcode erfolgen. Als Workflow ist vorgesehen, dass man ein Projekt auf Basis einer .pro-Datei erstellt, dieses mit Xcode exportiert (und nach den Projekt-Set-up-Änderungen wieder zurückführt) und es danach mit Xcode baut beziehungsweise installiert. Der Sourcecode lässt sich in jedem tauglichen Editor bearbeiten.

Auf Architekturebene kommt die mit Qt 5 eingeführte Qt Platform Abstraction (QPA) zum Tragen, die als Fenstermanager agiert und die Steuerelemente darstellt – das Host-Betriebssystem ist nur noch für das Einsammeln von Eingaben und das Ausgeben der berechneten Bitmaps verantwortlich. Die QPA-Schicht kümmert sich sowohl um die Widgets als auch um den QML-Code.

Für iOS gibt es keine API wie HITheme für Mac OS X, mit der sich nativ erscheinende Oberflächenelemente erstellen lassen. Plattformunabhängige Gestaltungsvorlagen wie den Fusion-Stil wird es jedoch geben. Letztlich werden sich Entwickler daran orientieren müssen, welche Steuerelemente im Rahmen von Qt Quick 2 entstehen.

Dieses verwendet Googles JavaScript-Engine V8, die aufgrund rechtlicher und technischer Auflagen durch deren JIT-Compiler (Just in Time) nicht unter iOS genutzt werden kann, da iOS-Anwendungen keinen Code erzeugen und ausführen dürfen. Das bedeutet, dass gegenwärtig das neueste Qt UI Creation Kit nicht genutzt werden kann. An einer Lösung des Problems arbeiten allerdings die Entwickler. Andere Punkte wie Touch- und Orientation-Events, Widget, Qt Quick 1, Graphics View und OpenGL funktionieren schon.

Schon etwas länger gibt es übrigens eine Android-Implementierung. Das mittlerweile auch von Qt-Maintainer Digia geförderte Projekt Necessitas wird schon, obgleich es Beta-Status hat, in zahlreichen Projekten eingesetzt und hatte auch Einfluss auf die Entwicklung des derzeit aktuellen Qt-5.x-Entwicklungsstrangs. Anscheinend wird Qt 5.1 ebenfalls eine Preview von Qt for Android enthalten.

Siehe dazu auch auf heise developer:

(ane)