开发者

Qt alternative? [closed]

开发者 https://www.devze.com 2023-03-26 05:41 出处:网络
Closed. This question is seeking recommendations for books, tools, software libraries, and more. It does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question is seeking recommendations for books, tools, software libraries, and more. It does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 1 year ago.

Improve this question

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 mu开发者_如何学Pythonch 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


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.


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.


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.


Qt licensing is unfair. They ask a single seat developer to pay 1/10 the licensing cost that a 10 seat developer pays, even though the market share of the single seat developer is 100x smaller, and 10 seat developers ALWAYS hide the number of seats.

The other "free" licenses are just there to lure you into investing time in their system. Later on, when you want to make some money, you have to pay their insanely high licensing cost to make something out of your investment in time.


In addition to Evan Teran's post.

http://www.kde.org/community/whatiskde/kdefreeqtfoundation.php


There's the Fox toolkit, a cross-platform GUI C++ toolkit. I discovered it recently, and will be evaluating it for our software very soon. From the documentation, it seems pretty straight-forward, but I've not actually developed anything in it (yet.)

From the website:

FOX stands for Free Objects for X. It is a C++ based class library for building Graphical User Interfaces...Applications using FOX are not dependent directly on X-Windows. As all platform-dependencies are completely hidden from view by the FOX System (applications don't even include X-Windows header files!!), such applications will be easily ported to other platforms, simply by recompiling.

0

精彩评论

暂无评论...
验证码 换一张
取 消