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 actively anymore (since other target audience has more focus).
- Reported issues very often are ignored and I repeatedly lose time with finding long known bugs. There are very old issues even on higher priorities (like e.g. a 8 years old P2 bug I am still suffering from).
- Components are deprecated very easily. Even without replacment or with incomplete replacements.
- New modules have recently been licensed GPL instead of LGPL.
- Open source license does not cover LTS updates anymore.
- Commerical licenses became extremely restrictive and aggressive.
- Language updates are not adapted and supported quickly. This is also true for QtCreator which still can not handle C++20 code correctly.
- Bad template support including metatype system and moc that is still unable to support QObject based class templates.
- Qt 6 is broken and will not be usable before 6.2.
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).