What makes Ubuntu choose Qt instead of GTK?

Source: Internet
Author: User
Tags gtk ubuntu touch

What makes Ubuntu choose Qt instead of GTK? A fact that is happening, Ubuntu is constantly qt!
I've been complaining about the software Center,
Today a look at the source code, unexpectedly have SOFTWARECENTER/UI/QML branch,
Even though it's kinda ugly to run, But you can imagine that the future is definitely replacing the GTK version-------------------------------------------------------------------------------------this is mark. Shuttleworth a big game of chess ....

Two years ago, Mark Shuttleworth announced that Ubuntu would support the QT program, given that the software's ease-of-use and ease of integration are the key values for delivering an end-user experience. Ubuntu is not because of how "pure" gtk, how cow B, how sexy is selected, Ubuntu chooses like OpenOffice, Firefox experience good software, software technical framework is only an additional choice. Gnome was chosen because, at the time, the GNOME desktop and its software family were well-consistent in terms of functionality and system experience, and GTK was chosen, only that Gnome used GTK, that's all.

Mark then gives a few requirements for choosing a software framework and the reasons for QT inclusion:
* Is it free software? QT supports business, GPL and LGPL three kinds of authorizations, especially LGPL called the decisive winning factor
* Is it best-in-class? QT is highly acclaimed for software quality, functionality, API design, documentation, and more
* Does it integrate with the system settings and preferences? Qt was somewhat lacking in this respect, and for this reason canonical decided to sponsor Dconf-gnome wiki! software to integrate into QT, the result is dconf-qt in Launchpad
* Does it integrate with other applications? The original text does not explain, but this is not a problem for the QT program, now QT and GTK are basically unified to the D-bus as the application of interactive system bus
* Is it accessible to people who cannot use a mouse, or keyboard? The answer to QT is Qtquick QML.
* Does it look and feel consistent with the rest of the system? Qt Style, qml means no pressure

So, does choosing QT mean that Ubuntu has to be close to KDE and alienate gnome?
Mark responded categorically to the former: No. And with a whole paragraph to cut off this reverie, the ostensible reason is that KDE does not integrate software packages such as DCONF-QT, and Ubuntu cannot or does not want to persuade KDE programs to integrate into Ubuntu. In essence, Mark just couldn't see KDE, and soon after, Canonical announced the dismissal of the sole employee of full-time development Kunbutu, and then Kunbutu was forced to become a fully community-driven release that was an obvious note.

So, don't you see KDE this small three is because love gnome this big wife love deep? It's just weird! Although in order to appease the GNOME community, Mark used another whole paragraph to explain the choice of QT is not equal to abandon gnome, of course, lived together for so long, even if suddenly want to sue is not so easy to take off, to slowly! GNOME, GTK Push 3.x, we do not follow, Gnome shell and then slowly replace with unity, ah, X11, Wayland are not tastes, also throw away, on Mir .... Wow, this is a little play big, drastic rely on what to support the above application, which is the need for QT debut, has been tempered for several years of QPA system Abstraction layer, for the underlying architecture is more convenient.

With these bedding, early this year when Canonical announced that her Ubuntu Phone OS had been chosen, not GTK and gnome, more than KDE, but the most a QT framework for overall system solutions across desktop, tablet and handheld devices, If you've ever developed a Symbian,meego QT program, you'll feel very familiar when you open the SDK for Ubuntu Phone OS, yes, canonical Qt Mobility intact, Qtquick and QT Other basic modules are connected to the brain. QT will become the official Ubuntu future API, QML is a native UI solution across desktop, tablet, and mobile phones.

This is from the development of Ubuntu and canonical company's strategic point of view Qt was chosen behind the motives, if the simple comparison of GTK and Qt, QT in the following aspects is the winner (of course, not all aspects are QT Good, GTK also has its own advantages):
1. Flexible license
To say this is the most core, dog blood is, QT initially inflexible QPL license is also the biggest reason for the birth of GNOME/GTK, however that Lana, QT has been progressing, first commercial +GPL, after being Nokia plus LGPL, has become one of the most open open source projects, whether you are open source, Both closed source and commercial developers can safely use QT. GTK is LGPL, can be used by the closed source program, but there is no real business license, basically in addition to hiring programmers self-sufficiency, to find a place to pay for services, which is actually very important for many projects.

2. Community activity
QT Core Active developer is basically GTK 4+ times, code commits is GTK 5+ times (2011 data), with the Nokia deprecation qt,2012-2013 statistics have declined, but still is higher than GTK one order of magnitude, we can see Ohloh detailed statistics

3. Performance
In fact, the traditional QT widgets and GTK compared to the same performance. However, after the advent of Qtquick, QT began to throw off GTK several streets, more specifically, the GTK community did not come up with a corresponding solution.

4. Resolution-Independent development
QTQUICK/QML is essential for modern mobile, GUI development of embedded touch devices. Another feature of today's display devices is the high pixel density, and the large difference in pixel densities of different devices, even on desktop platforms, with the advent of retina, which also starts the DPI race. and GTK + does not support "resolution-independent" development, so GTK wrote the program, on the current smartphone looks like a pile of flies ... Of course, Qt widgets write out of the same, this reflects the advantages of Qtquick. It is said that GTK + 's plan for this is ... gtk4.x provide support again ... In this way, it may not be long before the GTK desktop program looks like a slag.

5. Portability
This is also one of QT's trump cards, in addition to the three main desktop, QT also support almost all the mainstream smartphone operating system (let us skip the windows Phone ...) ), just released QT 5.1 has tried to support Android and iOS platforms, QT 5.2 will officially support Android and iOS, plus the supported Symbian (dead), MeeGo (dead), Tizen, WebOS, BLACKBERRY/QNX, VxWorks, Ubuntu Phone OS, Sailfish OS. and GTK only reluctantly support three big desktop (Linux/unix basically can only X11, framebuffer Support Limited, Eglfs completely does not support).

6. Other
Qt-creator has gradually been called the best C + + IDE outside of VS, Qt and the open source community very rare beautiful rich document, QT framework covers a wide range, not limited to the GUI, this is to take Qt and GTK ratio, actually a bit wronged qt.

Reference:
1.http://www. cs.uta.fi/~tkops407/sd-seminar-25-2-2009.pdf
2. Qt Apps on Ubuntumark Shuttleworth
3. GTK vs Qt-wikivs
4.http/dot.kde.org/2003/03/31/george-staikos-quick-cost-analysis-qt-vs-gtk
5. APP Ecosystem
6. The Qt 5 Open Source Project on Ohloh
7. The GTK + Open Source Project on Ohloh
8. Ubuntu Touch
9. Gtk+/roadmap Reference: http://www.zhihu.com/question/20153991

What makes Ubuntu choose Qt instead of GTK?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.