Other tools

I’ve used Qt/QML quite extensively the last three years. QML is a really nice framework for creating applications and the Qt framework provides a vast amount of features/functionality.

However, some downsides include:

  • The UI is entirely custom drawn, there are no native controls.

  • Packaging/building is not as easy as with Xojo, and occasionally requires futzing with arcane configuration files and occasionally adding/editing a line or two in a C++ file.

  • If you chafe at using the LGPL version and want some of the advantages of using their commercial version, it gets really expensive (not all that expensive for a medium-to-large business, but very expensive for a hobbyist/small-time business programmer).

  • QML is a declarative language with JavaScript-like syntax, and code is implemented in actual JavaScript, so if you don’t like that, you won’t enjoy using QML; if you don’t enjoy using QML, the alternative is C++, but that’s a completely different framework and set of widgets than the QML widgets, so you kind of have to choose one or the other and stick with it.

  • The C++ widgets are somewhat dated and aren’t getting as much love from Qt developers as the newer QML stuff.

  • The community is much larger than Xojo, but smaller than just about any other competitor you can think of. There are no recent books to help you, very few tutorials or other articles on the web, less help on StackOverflow than you’d like, etc.

  • Qt/QML is near useless for mobile development. There’s a third-party framework (Felgo) that makes it viable, but it’s expensive itself.

I really do enjoy QML, however, and it can produce some very slick applications, so I say it’s definitely worth exploring.