Qt 4.7 introduceert declaratieve interfacetaal en prestatieverbeteringen

Reading time: 2 minutes

Author:

Nokia heeft versie 4.7 uitgebracht van het Qt-softwareraamwerk. De kersverse editie biedt ondersteuning voor touchinterfaces, een nieuwe ontwerpmethode met een declaratieve interfacetaal, prestatieverbeteringen en een gezonde dosis hardwareondersteuning.

Qt is een raamwerk voor kruisplatformontwikkeling in C++ of Javascript. Het staat vooral bekend als ontwerpframework voor grafische interfaces, maar biedt ook een ruime keus aan ondersteunende classes voor het werken met XML-bestanden, strings, multimediabestanden, databases en netwerken. Het raamwerk ondersteunt Windows en Windows CE/Mobile, Linux/X11, embedded Linux, Mac OS X, Symbian en Meego. Een eigen ontwikkelomgeving is meegeleverd, evenals Eclipse-plug-ins. Qt is gratis beschikbaar onder de GPL- of de LGPL-licentie, of onder een commerciële licentie.

Een belangrijke toevoeging in versie 4.7 is Quick, de Qt UI Creation Kit. Althans, het eerste deel ervan. Doel van dit raamwerk is om eenvoudiger en sneller dynamische interfaces te kunnen maken. Het hart van Quick is de Qt Meta-Object-Language (QML). Volgens Nokia is dit een eenvoudig te leren Javascript-gebaseerde declaratieve taal die beschrijft hoe de interface eruitziet en zich gedraagt. QML zou het eenvoudiger maken om programmeurs en UI-ontwerpers samen te laten werken bij iteratieve ontwikkeling. Met Quick is het gemakkelijker om voor een brede reeks devices te ontwikkelen door meerdere QML-lay-outs te maken en om het tonen van elementen te laten bepalen door conditionele expressies. Animaties en features voor aanraakbediening zijn nauw geïntegreerd.

Voor de koppeling van QML naar C++ is de Qtdeclarative-bibliotheek verantwoordelijk. Deze geeft toegang tot de onderliggende engine die de QML-beschrijving vertaalt naar de traditionele grafische omgeving in Qt. De bibliotheek biedt ook Api‘s om eigen C++-types en -elementen en de applicatielogica in C++ te koppelen aan QML. De bijbehorende Qtcreator-IDE heeft een editor gekregen voor QML met onder meer ondersteuning voor de syntax, drag-and-drop, previews van de UI en snelkoppeling naar de documentatie.

Naast Quick voert de nieuwe versie prestatieverbeteringen door, met name in het Webkit-gebaseerde raamwerk voor het weergeven van HTML-inhoud. Dat is zowel van toepassing op het weergeven van webpagina‘s als op interfaces in HTML. Volgens eigen benchmarks rendert het nieuwe platform webpagina‘s gemiddeld 4,5 keer zo snel als de vorige versie. Bovendien gaat het laden 16 procent sneller door allerlei optimalisaties. Ook het scrollen en zoomen verloopt een stuk soepeler en het is mogelijk om de inhoud te laten passen in een frame. Dat laatste komt met name van pas bij mobiele platforms. Daarnaast kunnen CSS-animaties en -transities nu rekenen op OpenGL-ondersteuning. Bovendien is het makkelijker geworden om hybride ontwikkeling met C++ en Webkit uit te voeren.

Ook op andere delen in het raamwerk heeft Nokia aan de prestaties geschaafd. Zo is er een nieuwe class voor tekst die niet verandert en die het rekenwerk voor het lay-outen achterwege kan laten. Op Mac OS X is Qt overgestapt op een andere widgetimplementatie, wat opnieuw de prestaties ten goede komt. Daarnaast is er een nieuwe Api om onderdelen van bitmaps te renderen. Als laatste is nog de Javascriptcore-engine verbeterd in de Qtscript-module.