Currently I am using C++/Qt for cross platform desktop development (Linux, Windows, sometimes Mac).
Qt is powerful but I recently experienced some critical problems:
- Widget components and some other parts are not developed very actively anymore (since other target audience has more focus)
- Reported issues very often are ignored (with a few specific exceptions), so I repeatedly lose time with finding long known bugs. I repeatedly see bugs that are many years old.
- Components are deprecated very easily or replaced by components that are missing important features of the predecessor which causes high maintenance effort (even the only usable XML API has been deprecated recently).
- New modules have recently been licensed GPL instead of LGPL.
- Open source license does not cover LTS updates anymore.
- Commerical licensing also becomes increasingly restrictive (and I expect TQC to get even more aggressive in the future).
I am searching for a replacement. C++ or maybe Java. There are several frameworks out there like wxWidgets, Java/SWT, GTK+.
Which framework (especially out of the three above) is able to solve my specific issues? I.e. it should...:
- Consider conventional desktop applications important, actively developing the entire framework, not only the cash cows.
- Have a very well managed issue tracker (where bugs are usually fixed, not ignored or closed).
- Provide a stable (and intuitive) API, without breaking applications by repeatedly deprecating components without an equal (or better) replacement.
- Be free to use even for (potentially) commercial projects (e.g. LGPL).