📜 ⬆️ ⬇️

Qt Quick mobile app: opportunities and prospects

Imagine for a moment that there is a simple technology that allows you to write mobile applications for all platforms at once. No performance issues, with easy access to hardware at a low level. Is free*. Applications look almost like relatives. They behave like relatives. Just a dream, not a technology! "It does not happen" - you say. And you will be right. Nearly. But the community has an excellent chance to change the situation, the benefit is all the prerequisites for this. If you are interested in what has already been done and what remains to be done, I ask for cat.

* Sadness only legal uncertainty with static linking (LGPL), mandatory, for example, under iOS

Opportunities


Surely most developers have heard of Qt Quick anyway. In short, the concept of creating interfaces is to build a visual tree of rectangular elements, the logic is described in JavaScript. A powerful state machine is available, a bunch of different animations, standard items like lists or input areas. That is, today the technology is ideal for custom interfaces such as payment terminals or smart home control systems. The most important advantage is the wide coverage of platforms, starting Android and ending with Tizen.

The following video perfectly demonstrates the current library features:

')

Problems


Perhaps some even thought to try to write a hobby project on this newfangled thing. However, here opens several problems that have yet to be solved:

Components , or rather their complete absence. The library of standard components is available only on OSes that use Qt Quick as a base:

Documentation : there are now a bunch of articles in the Internet in the style of “My first application in QML” or “Linking C ++ and QML”, but really useful ones are few.

Qt Quick 1.0 : The Internet is full of non-working code, this version died before it became widespread, but it left a fat mark on history.

Behavior : it is clear that with some average application (as in the video above), users of any platform will understand, but it is unlikely to be pleasant to use such a newcomer.

suggestions


Therefore, today, anyone who wants to create a more or less traditional application, is forced to reinvent the bicycle, which in general is not complicated, but takes a lot of time. So I suggest not to wait until the guys from Digia write the toolkits for all platforms, but to take over the work.
And there are three main areas:

Components : Judging by this table qt-project.org/wiki/Qt-Quick-Controls-for-Tizen almost all components are written by a couple of enthusiasts, so there is nothing supernatural here. Catching all the platforms at once, of course, is not worth it, let's start with Android. On the other hand, if someone is interested in writing just for Windows Phone - why not, multithreading rules!
Interface pictures, colors, icons for Android here .

Behavior : The applications “neither fish nor meat” repel users, therefore you need to rework the HIG of each platform by writing simple rules, say on working with lists: how it is customary to organize removal, editing, navigation between screens.

Documentation : It is possible to single out the main topics not covered, to separate them, to write the corresponding articles.

In conclusion, a small video with a custom picker, an article about which I will try to write by the beginning of the next week.


PS Qt 5.3, before the release of which is less than a week, promises to bring official support for Windows Phone, new dialogs, a calendar widget, so I think we should focus on this version right away.
PPS I would like to hear your suggestions regarding hosting, discussion platform, license, general work organization.

Source: https://habr.com/ru/post/220265/


All Articles