I am starting a new project on embedded industrial systems with Linux Yocto on FreeScale iMX6 and I am wondering which design patterns should I use to decouple the GUI from the system behaviour.
My concerns are:
1) maybe Qt5 is a good choice but I would like also to be able to control the industrial system from a tablet with Android or from a remote desktop or, why not, to be free to select another framework and not being dependent from Qt for life
2) the Linux system can be controlled acting on the filesystem (/dev and /sys/class ...) so, should I include the code to open/close files directly into the GUI as Qt actions ?
3) will be better to create a state machine independent from the GUI implementation and to include in the GUI actions just the code to interact with the state machine ?
4) how about to use a light web server and to develop the GUI as a website ?
I would be glad if someone could recommend a book or articles or personal opinions. Thank you in advance
It depends on the used framework and what the GUI for. From this link you could track to one of the GUI solutions. If possible using a middleware to bridge the GUI and the system should help porting to other framework.
Thanks Wang for your opinion.
Do you have any recommandation for how to build a layer of middleware ?
Should I go for a webservice layer ? So http + SOAP ?
I wouldn't like to go into an implementation of a custom server writing byte per byte a custom API.