Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt alternative? [closed]

I have recently found out that the future of Qt has become uncertain as Nokia, It's current owner, has announced they officially have no interest in desktop Qt.

I know that Qt could survive by several different events but as I'm worried about learning a dying framework in terms of OS support and so I would like to learn another cross-platforn application framework a lot like Qt.

It needs to be cross-platform and contain many classes like Qt for development as well as a solid GUI library. I would like it to be very stable and well supported by OS's and IDEs

WxWidgets has modeled It's self too much on win32 and is very un-intuitive and window layout is very in-stable

Gtkmm models to much like a wrapper, as it is, to Gtk and documentation of it is some what non-existent. It also has little application classes so I would have to look around for other cross-platform libraries as well. It's signal slots implementation is no match for the ease and simplicity of Qt and Qt's thread support is amazing.

My only fear is if no company or massive community picks up Qt it will slowly loose compatibility to windows, new Linux kernels, Xorg releases, mac updates.... I would hate to watch this happen as Qt is an amazing framework

like image 338
Will03uk Avatar asked Aug 03 '11 23:08

Will03uk


People also ask

Is there an alternative to Qt?

wxWidgets, KDevelop, Electron, React Native, and Flutter are the most popular alternatives and competitors to Qt.

Is Qt going closed source?

The Qt Company are making LTS releases commercial only and thus closed-source.

Is Qt still open source?

The Qt framework is available under both open source and commercial licenses. This dual-licensing model is based on the principal of quid pro quo – roughly meaning “something for something.”

Is there a free version of Qt?

Is Qt Creator free? There is an open-source license which is free and a commercial license. The commercial license (Qt creator and Qt SDK) starts at $459/month.


3 Answers

The future of Qt is very much not uncertain. Qt's license has a clause that specifically says that if at any point it is no longer offered, then it becomes public domain. At which point I would imagine that the KDE folks would take over development (since they've considered merging kdelibs with Qt at least a little bit before).

Also, There is a company (Digia?) which is currently offering Qt commerical licenses still.

Finally, Qt5 is actively in development by Nokia, I don't see how it is even close to "dying", simply put, you're misinformed.

like image 111
Evan Teran Avatar answered Sep 29 '22 20:09

Evan Teran


I'm not sure if it's really a huge concern wondering if Qt will fall out of use. It is one the most (if not the most) popular cross platform libraries of its kind, and still has strong support.

Regardless, your question about other systems is still relevant. Here's my two favorites:

  1. Switch to a cross platform language with standard support for what you need such as Java.

  2. Script your app with a cross platform language with such standard libraries in order to build those parts of you app, while you still use C++ code for rest of the work.

They're pretty similar options, with the second being much less dramatic. Especially considering that the question was asked out of concerns for a library's survival, I would much rather bank on highly popular and mature languages to maintain support. Of course, there are probably many choices in language, but the one I'm most familiar with is Java, which is why I mentioned it earlier. It's not too bad writing Java code to interoperate with your C++ code, and is also provides a nice example of how using multiple languages in an app can be advantageous.

like image 3
Ken Wayne VanderLinde Avatar answered Sep 29 '22 20:09

Ken Wayne VanderLinde


The future of Qt is never uncertain. The one who said, "there is not interest in desktop" is not the owner. The future of Qt is well mentioned after the Feb'11 (announcement of WP7 collaboration). In fact, QML is Good way to go for future UIs.

For your proof, the new Unity Interface for Ubuntu is going to have a 2D QML interface and the future editions are going to have QML 3D interface for some applications. The new Ubuntu is highly integrated with Qt.

The way Qt is going is too good so far. As a regular reader of Qt blogs and labs, I can say it for sure. The new Qt 5 is going to have lot of features and performance improvements. Also, they have committed its development to the successful Open Governance model. So, everyone can contribute.

Since the future of development is going to be for Mobiles and Tablets, most of the tutorials you will find may seem to create an illusion that Qt has no support for Desktop, but its not the case.

Download the latest Qt SDK 1.3 and you will find the Qt 4.7.4 for Desktop.

To ease the use of Qt, for developing both mobile and desktop applications, Nokia has combined both development environment into one SDK called Qt SDK, unlike the previous Nokia Qt SDK.

Moreover, I think no other C++ development framework can support a wide range of platforms like Qt supports now.

I supports: - Desktop OSs: Windows, Linux, Mac OSx. - Mobiles OSs: Symbian, Android (Community cupported), IOS (Comunity supported), Windows CE, - Embedded Linux devices, Meego, Maemo. Tablet OSs: Android, Meego, Tablet Linux ports.

A new opportunity for porting it to is available in the name of Qt Necessitas- The Android port and IOS port of Qt are based on this only. If you have doubts check the YouTube for videos.

And regarding Java, I have read it is not that cross platform as Qt is. I also doubt whether any IDE, other than Qt can give you the comfort of cross compiling.

The Documentation is too good that, for rare cases where cross platform is not supported (for some Window functions) is mentioned explicitly along with alternative methods to implement it in that particular OS.

QML is awesome, since its behind the scene actions are performed using C++ to give you similar performance (85% as fast as Qt C++). And you don't have the head ache of Memory Management (if you are not used to with C++). If you really want a beautiful GUI and fast performance go for QML and C++.. Else the easy option is to use QML and Javascript.

I'm developing an application for Symbian, using heavy animations in my Nokia E63 with a CPU clock speed of (386 MHz) and QML performance is smoother and doesn't hang at all.

You can even find the OS and version with an if else statement, that easy. Give it a try before deciding it by reading some reviews.

like image 3
RajaRaviVarma Avatar answered Sep 29 '22 19:09

RajaRaviVarma