PDA

View Full Version : Qt App Manager



Dean331
8th November 2017, 22:18
Hello,

I try to understand how Qt Application Manager works (from the official site), but not much success. That's why I would have some general questions on you:
1. Why it was created? What is it's purpose?
2. On what kind of platforms can run? (win, linux, mac, embedded, etc.)

If you give me a short example of code would be great.

Many thanks,
Dean.

high_flyer
10th November 2017, 10:07
1. The application manager is a binary daemon which can run QML applications each in its on process (per default).
(You can also have the application manager run as a signle process environment, than the application all will run in one process)
The application manager runs its own "system ui" in which the applications will show theirs.
One scenario for using it is in embedded systems that are offering multiple applications/features under one "umbrella".
The multi process structure allows better security features through restricting permissions, and if one applications crashes, it doesn't crash the whole system.
2. That is covered very clearly in the documentation: https://doc.qt.io/QtApplicationManager/installation.html

What kind of a code example are you looking for?
Basically you write your QML application as you would with no connection to the application manager, with the additional points mentioned here:
https://doc.qt.io/QtApplicationManager/installation.html

arasbm
16th November 2017, 02:30
I am also currently evaluating qt application manager. So far my impression of appman are very good, but I still can not find evidence of many projects using it or information about the path forward for appman and if they are interested in creating a developer community around it. To me in some ways appman is a very minimal desktop environment that is controlled entirely via programming, so I feel that for the project to be successful it would need a strong developer community behind it. I can not even find an irc channel for it yet, so I was pretty excited to see a post about it on this forum.

When you clone and build appman, checkout the projects inside the examples folder. I tried the minidesk (minimal desktop) example and that gave me some clue. There is also the neptune project which is a reference infotainment application for automotive industry. neptune UI is a very well written app and it is pretty advanced. It is the most suffisticated app I have been able to find that uses appman. Perhaps there may be other applications that use it that are no open source, but I have not been able to find information about those.

I would be interested to see more discussion about appman here if anyone else has experience with it. Would you recommend it as a way of developing applications for kiosks, HMI replacements or other industrial applications where critical function needs to be separated from additional features?

ps: here is a link to my current question about appman: http://www.qtcentre.org/threads/68965-How-can-I-use-appman-in-multi-process-mode-in-Linux

high_flyer
16th November 2017, 10:23
I can not even find an irc channel for it yet, so I was pretty excited to see a post about it on this forum.
Try the qt mailing lists, specifically 'automotive'.


so I feel that for the project to be successful it would need a strong developer community behind it.
To my knowledge at the moment it is mostly developed with backing of the automotive industry (and to my knowledge they are the only real users so far), yet the code it self is opensource - allowing anyone to contribute.


Would you recommend it as a way of developing applications for kiosks, HMI replacements or other industrial applications where critical function needs to be separated from additional features?
Yes - this is basically what the appman is for.

arasbm
20th November 2017, 21:30
Thank you for your feedback so far. I have reached out on the automotive mailing list, hoping I will hear back from the development team soon.

On a related note, how do you think using Qt Application Manager compares to a slightly more barebone approach of using QtWayland directly? I have not yet tried using QtWayland, but do you think it would be feasible for creating a multi-process UI?

Here is an article suggesting QtWayland can be used for this purpose: http://blog.qt.io/blog/2017/01/23/creating-devices-with-multiple-ui-processes-using-wayland/

What are the cost/benefits of using appman as opposed to QtWayland to create a multi-process UI?

high_flyer
21st November 2017, 11:38
AFAIK Wayland is "simply" a compositor protocol.
appman is an application that uses that protocol - so the notion of comparing the two for me is not really clear.
If you read carefully in the link you posted:

Having made the decision to have multiple process for the user interface display, the next technical problem to solve is getting the outputs of each process onto the display. Historically the approach has been to use X and write your own window manager.
Also, the text does not explain "how to do with wayland" it says wayland is the better way to go for the reasons it lists.
This text says nothing on implementation, and, appman is basically the implementation of the text you posted.


What are the cost/benefits of using appman as opposed to QtWayland to create a multi-process UI?

Again, using appman is not exclusive to using wayland.
Appman is using wayland.