QtDD13 - Attila Csipa - Fast QML UI prototyping for platforms WITHOUT Qt/QtQuick support

1,893 views · Published 14 February 2014 · 52:39 · Indexed 29 September 2026

Channel: Qt Group · 2014 · Science & Technology

Watch on YouTube

Recorded at the Qt Developer Days in Berlin in 2013.
Slides available at https://devdays.kdab.com/?page_id=225

Short Abstract:
Every now and then we come across a platform that does not support Qt, or whose list of Qt modules does not include QtQuick(2), is lacking in performance, or which simply lacks a component-set that provides a native look-and-feel. This session will show how to use QtCreator, QML and the QtQml module with custom code-generating components to create a workflow for fast UI prototyping, without the need for Qt or QtQuick on the target platform. In practical terms, QML as a language is used to template and generate UI code. Two real-life examples will be presented to validate and show the benefits of the approach, a Java ME QML component set (used to prototype user interfaces for applications running on Nokia Asha devices), and a text component set (used on headless embedded/system applications using Qt). Finally, options to use the approach to prototype a native declarative UI for Windows Phone (XAML) and Android (XML) are explored.

Abstract:
Qt as an application framework has an ever-expanding list of supported platforms, and has a UX development workflow which has been widely acclaimed for the speed and efficiency in development. However, there are platforms on which developing a QtQuick or even QWidgets application is simply not a feasible option at this moment -- whether due to the lack of Qt official support, missing required modules, dsitributable size limits, specific performance issues or simply lack of a component-set that provides a user experience in line with the native application offering on that platform. This session will approach this problem from an UX prototyping perspective, where QtCreator and QML are used with custom code-generating component sets that are able to provide a fast and natural UI development process for existing Qt developers. The output of these components is not necessarily an end-user usable UI -- instead, we will be just using the QtQml module (not QtQuick!) module to generate platform specific code that replicates the functionality in a form that is compatible with the target platform. Two real-life examples will be presented to validate and show the benefits of the approach. The first component set is for Java ME, which allows for fast prototyping of user interfaces for Nokia Asha devices (which normally do not run Qt in any form). The second example is a text component set, which allows for the fast development for headless embedded/system console applications using Qt. Finally, options to use the approach to prototype a native declarative UI for Windows Phone (XAML) and Android (XML) are explored.

Presenter Biography:
As a passionate Open Source and Qt advocate, Attila has been developing and promoting Qt on a range of platforms. While he started on the desktop with Qt3, during the years he has moved on to develop on effectively all major Qt-supported mobile platforms. He is maintaining a number of cross-platform Qt applications and libraries (like QtInfo, and historically the community builds of PyQt and QtMobility on Maemo). Attila currently works as a Technology Wizard in Nokia's Developer Relations team, and when he's not touring the world providing mobile development related trainings, he's focusing on the future of Nokia Asha smartphones.

More from this channel