|Qt 5.11 Adds Unicode 10 Support|
|Written by Kay Ewbank|
|Thursday, 31 May 2018|
Qt 5.11 has been released ahead of schedule with support for Unicode 10 and a rewritten QML compiler pipeline.
Qt is a cross-platform application and UI software development framework that lets you create native apps for desktop, embedded or mobile platforms.
Because the engine is the foundation of Qt's Quick user interface technology, it is used heavily by many Qt users. There are two parts, of which the compiler pipeline is the part that has been rewritten. This is used to compile QML and ECMAScript down to binary data structures and bytecode/assembly. A runtime then assists in executing the generated code.
The new pipeline always compiles QML to a platform-independent bytecode. The engine will cache this bytecode in .qmlc files, and you can also generate the bytecode ahead of time, using the qmlcompiler feature (which is now also available in the open source version).
The bytecode interpreter has also been rewritten, and has a vastly improved performance over the old version. It reaches around 80-90% of the performance of the JIT in Qt 5.10 in most of the developers' tests. A new hotspot JIT has also been added.
Another area to have been improved is Qt Location. This works with location services and can be used to create mapping apps using the data from location services. In the new release, there's experimental support for turn-by-turn navigation, and an experimental API to create map objects that are not bound to QQuickItems. The Routing and Places API has also been made extensible.
Support for Windows is another area to have received attention. Accessibility support on Windows has been completely rewritten and is now based on Microsoft UI Automation, not on the old Microsoft Active Accessibility framework. The developers have also improved the widget styles on Windows to better support High-DPI displays. The print dialog on Linux has also been improved.
A technology preview of Qt for Webassembly has been released at the same time at the main Qt. The developers say this is a step towards filling the last large gap in Qt's cross-platform support, giving developers a way to target the web and browsers as a platform for Qt applications. The development team are also hard at work on adding Python support for Qt, with an initial release planned for June.