Understanding QML
-
-
Hi,
Some of these questions are subjective, so assume that my answers are an opinion only.
-
Depends on the someone. If that someone is a web developer, with existing JavaScript/CSS/HTML5 skills, QML would be good to learn because they can leverage their existing skills. If that someone is an experienced C++ developer, it enables rapid development with closer interaction with designers, and deep C++ integration possibilities. QML is cross-platform; applications written in QML can run on MacOSX, Windows, and Linux desktop platforms, and MeeGo, Symbian and Android (via the non-Nokia-developed Necessitas project), and perhaps more platforms that I'm not aware of. Note that the latest version of QML (QtQuick2) does not run on all of those platforms, however.
-
Several benefits, including: (a) faster coding/iteration cycle, (b) simpler/easier to create highly dynamic/animated/fluid interfaces with great performance, (c) enables closer interaction between designers and developers (no need to create prototypes in flash and then reimplement them in C++).
-
QML was designed specifically with modern user interface development in mind. It excels at that. With QML modules from Qt3D, QtMultimedia, QtLocation etc added in, it can be used to develop a large range of different types of applications - however certain types of applications will probably not be developed solely in QML (eg, first-person shooter games, enterprise software, etc).
-
Yes. QML to define the object hierarchy and object types, and JavaScript expressions/functions to describe program logic, can be used to create complete applications.
-
Yes. Deep C++ integration is a core part of QML.
The latest documentation snapshot for QML application development (with Qt5 / QtQuick2) is located at: http://doc-snapshot.qt-project.org/5.0/qtquick-applicationdevelopers.html
Cheers,
Chris. -