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).
  • 1
    Currently more focused on Android & iOs, but keep your eye on Flutter / Dart Oct 30 '20 at 10:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.