We are planning to upgrade one of our products and as a result, we are also planning to rewrite its GUI. This product is currently running on Windows CE 5 with MFC, with all the risks of obsolescence involved. Our goal is to move to a newer OS and GUI library.
We are considering all the options but we are not really sure what is feasible with the tools provided by Toradex. Your experience could really prove useful to us.
- The application runs on an embedded device, like some kind of tablet. The target is an Apalis iMX6.
- The GUI is quite simple, with many basic widgets (buttons, lists, …). Some components are redrawn (graphs, charts).
- No 3D, nothing very demanding overall.
- We are not particularly looking for a modern look & feel. For us, the most important is to have a clear and functional GUI.
- The application is preferably written in C++. Other languages are possible, but this would mean an additional cost for us, as our developers are mainly proficient in C/C++.
- OS: Torizon, Linux or Windows.
Here is a summary of the options available to us:
- Qt: the commercial license is way too expensive. The LGPL license is not suited to our case, because we do not want to allow the user to access the file system.
- Crank: we are considering this option but the price might be a bit too high for us.
- TotalCross: the language is not suited to our needs, but we have not ruled this option out.
- GTK and wxWidgets: we found many different opinions about these librairies. For GTK, GNOME is recommended and there is also gtkmm for C++. The problem is mainly the lack of professional support, and this makes us worried. Is this a viable solution?
- Mono: from what we have read, Mono is mainly used for running applications and not for new projects. Moreover, Mono uses WinForms which is a rather old library. Do you agree with this?
- Silverlight for Embedded (XAML for Windows Embedded): it would require us to use WEC 7 or 2013, and from what we have seen, these choices are not recommended because of the risk of obsolescence. WEC 2013 support ends in 2023. In addition, the language may be a hindrance at the beginning of the project. Is it still viable to start a new project on WEC 2013?
- .NET Compact Framework: same as Silverlight. That said, the work involved in learning .NET can be a plus in the long run. The most constraining problem remains the use of an obsolete OS. What is your opinion on this subject?
What other options do we have? Have we missed something? Which libraries would you recommend, depending on our needs?