Login
Newsletter
Werbung

Di, 13. August 2019, 11:04

Software::Entwicklung

Qt 6 Ende 2020

Die freie Klassenbibliothek Qt soll Ende 2020 einen Versionssprung auf Version 6 machen. Dabei soll die Kompatibilität zu Qt 5 weitgehend gewahrt werden, während notwendige Modernisierungen einfließen können und veraltete Module entfernt werden.

Qt Project

Qt ist eine C++-Klassenbibliothek, die sowohl GUI-Elemente als auch andere nützliche Klassen in großer Zahl anbietet und damit die plattformübergreifende Entwicklung von C++-Programmen wesentlich erleichtert. Qt findet dementsprechend weite Anwendung von eingebetteten Systemen über grafische Applikationen bis hin zu kompletten Desktopumgebungen wie KDE Plasma, LXQt und Lumina.

Qt 5 wurde vor rund sieben Jahren veröffentlicht und seither zweimal jährlich aktualisiert bis zu Version 5.13 im Juni. Geplant sind mindestens noch die Versionen 5.14 und 5.15, letztere mit mindestens dreijähriger Supportfrist. Doch laut Lars Knoll gibt es bereits Überlegungen, was Qt 6 ausmachen sollte. Diese technische Vision stellt er nun im Blog der Qt Company vor.

Da Qt 6 eine kontinuierliche Weiterführung von Qt 5 sein soll, soll es für die Benutzer kaum störende Änderungen geben. Knoll sieht aber in der Versionserhöhung eine Möglichkeit, mehr neue Funktionen unterzubringen und aktuelle Anforderungen zu erfüllen. Nach der Komplettierung von Qt 5.14 im Herbst wird die Entwicklung von Qt 6 forciert mit dem Ziel, es Ende 2020 zu veröffentlichen. Qt 5.14 und 5.15 sollen einen Teil der Neuerungen von Qt 6 enthalten.

Knoll erwartet für die Zukunft einen weiter stark wachsenden Markt für eingebettete Systeme, der bereits jetzt das Wachstum von Qt treibt. Dort dominieren billige, simple Geräte, die aber elegante und flotte GUIs benötigen. Im Desktop-Bereich dagegen steigt die Komplexität der GUIs immer weiter und die Kombination von zwei- und dreidimensionalen Elementen nimmt zu. Auch künstliche Intelligenz wird häufiger eingesetzt.

Die Vision von Qt 6 umfasst zahlreiche Punkte. So soll QML, die Beschreibungssprache für das Verhalten von Oberflächen, eine starke Typisierung erhalten, was Programmierfehler reduziert und die Geschwindigkeit steigert. JavaScript soll optional sein, um auf eingebetteten Systemen Speicher zu sparen. Die Versionierung, die Duplizierung von Datenstrukturen und die Generierung von Datenstrukturen zur Laufzeit sollen verschwinden. QML soll nach C++ compiliert, Implementationsdetails verborgen und die Integration mit den Werkzeugen verbessert werden.

Die 3D-Grafik, die bisher auf OpenGL aufsetzte, muss künftig eine Abstraktion von Vulkan, Direct 3D (Microsoft) und Metal (Apple) anbieten, das Rendering Hardware Interface. Die Qt Shader Tools müssen deshalb künftig auch in der Lage sein, in verschiedene Shader-Sprachen zu compilieren. Qt Quick wird in Zukunft auch 3D-Inhalte nutzen können, was bereits in Qt 5.14 kommen soll. Neben weiteren Grafik-Verbesserungen soll Qt 6 auch eine vereinheitlichte Theme-Engine erhalten.

Qt 3D Studio wird in Design Studio integriert, um mit einem einheitlichen Werkzeug alle Oberflächen entwerfen zu können. Das Qt-eigene Generiersystem QMake soll in den Hintergrund treten, neue Projekte und Qt selbst sollen stattdessen CMake verwenden. Was die Programmiersprachen angeht, soll Qt 6 modernisiert werden und den Standard C++17 voraussetzen, bisher war es C++98. Ein Teil der Funktionalität von QML und Qt Quick soll in C++ verfügbar gemacht werden. Die Unterstützung für Python und WebAssemby soll erweitert werden.

Aufgrund des großen Ökosystems um Qt sollen Inkompatibilitäten zwischen Qt 5 und 6 so weit wie möglich vermieden werden. Einige veraltete Teile sollen zwar entfallen, die Portierung auf modernere Klassen soll aber so einfach wie möglich gemacht werden. Qt 5.15 soll so weit kompatibel mit Qt 6 sein, dass es recht leicht sein soll, selbst große Projekte wahlweise mit Qt 5 oder 6 zu compilieren.

Geplant ist auch ein Marktplatz für Komponenten und Entwicklungswerkzeuge, ähnlich wie es ihn in anderen Produkten bereits gibt. In diesem können sowohl freie als auch kostenpflichtige Produkte angeboten werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung