Print

Integration Watch: Qt: suddenly resurgent



Andrew Binstock
Email
April 1, 2009 —  (Page 1 of 3)
For many years, the Qt toolkit has been the best GUI toolkit available on the market. Better than the Java client libraries (Swing and SWT), better than Microsoft’s libraries, better than the excellent third-party component libraries for .NET, and superior even to Apple’s Carbon and Cocoa GUI frameworks. As to OSS products, such as GTK or wxWidgets, there is no comparison whatsoever.

What makes Qt so demonstrably superior are the scope of the library, the quality of implementation and its portability. I’ll get into each of these attributes shortly. But for the moment, I want to discuss the product’s perceived limitations and some recent developments that are of interest.

Historically, the two biggest knocks on Qt were its price and the fact that it’s written in C++. Of these, price was the principal obstacle to its wider adoption. When the product was owned by Trolltech, its original designer, Qt was dual-licensed: a for-pay license, which charged somewhat under $2,000 per platform per developer seat, and a free open-source (GPL) version on the Linux platform. In the Linux world, from where Qt sprang originally, it is the toolkit used in KDE, one of Linux's two primary desktops. In 2007, Trolltech began to loosen licensing by providing an OSS version for Windows. Like the Linux version, the Windows OSS license was GPL.

Then Trolltech was acquired by handset-maker Nokia in early 2008 (primarily for the embedded version of Qt, called Qtopia). Many pundits were concerned that Nokia would simply absorb the technology for internal use and no longer provide upgrades to the larger community. This fear turned out to be unfounded, as Nokia has done just the opposite. It has brought out new versions of the library and, just recently, announced that it was enhancing the licensing model.

In addition to the GPL version, Qt has just begun shipping a version licensed under the LGPL, which is a far more user-friendly license. Nokia will continue to provide a for-pay license for companies that want unrestricted use of the technology and paid tech support. The new licensing should further anchor Qt as the library of choice among developers.



Related Search Term(s): Qt

Pages 1 2 3 


Share this link: http://sdt.bz/33362
 


Comments


04/03/2009 09:37:18 AM EST

I work on Multiplatform projects for my company and the statement about Qt being better technically then wxWidgets and GTK is correct. Also it outperforms Java (no surprise). However we aren't using it because of the $3700/seat cost. The article did not mention the other development effort Mono a cross platform variant of .Net and it will probably replace Qt if it matures with it's portable executables.

United StatesJohn Marcovitz


04/03/2009 03:50:24 PM EST

Qt is an application framework for C++, therefore claiming that the choice of C++ as a language for the library is a limitation to it, is some horrible misunderstanding... Another thing. The author of the article tries to compare C++ to some other, sometimes completely different languages (in terms of type and purpose - C++ vs PHP? What a nonsense). Such comparisons are pointless - every language has it's own purpose. C and C++ are languages for writing (sometimes very) complex software that must be efficient and run on a *real machine*. Java and .NET are platforms for somehow simpler software, for which it is not a problem when it runs on a *virtual machine* (yes, there are such projects like Singularity, but it runs on a *virtual* machine, not on a real one, therefore even Singularity needs an operating system compiled for a *real* machine, on which the virtual one will be ran on). Next, there are the *scripting* languages - PHP, Ruby, etc., which are *interpreted* by some other software (interpreters, virtual machines, name it as you want) and are meant for writing *web* applications. There are plenty of other types of languages, of course. . As for comment from John Marcovitz - .NET is same thing as Java (a competitive technology), so if Java for so many years hasn't replaced C++ and isn't threatening Qt (have you forgotten that it also has portable executables?), then .NET also won't. It really doesn't matter whether executables are portable. If you have a portable source code, then you can compile it for many platforms. For FOSS development the portability of executables was always of no meaning at all (FOSS distributors do not download executables from project sites even if they are provided - they *always* compile the source code themselves). For non-FOSS development it has also not so big meaning. For some commercial software vendors non-portability of their executables is an advantage for their business model - Microsoft and Apple, for the quickest example. For others, it's not a problem to compile for multiple platforms (Opera, Java platform before it has been open-sourced, Skype, Flash, to name just the most popular ones). If the source code is portable, then there is really no problem, and one should not forget that C and C++ are *platform independent* languages - the only problem is with platform dependent, third party libraries (and here comes Qt, which overcomes this problem).

Polandtom


04/06/2009 04:36:55 AM EST

John: SInce Qt is now licensed under the LPGL, it is now free to use for commercial applications that link to it, so you can go ahead and use it.

AustraliaLorn Potter


04/13/2009 11:41:04 AM EST

Some legal beagal will have to explain to me why Nokia can charge $3700 a seat then Lorn. I do know something about tom's comment though. Portable source code happens after a great deal of effort. We weren't just throwing up forms with some data bound controls. That would be too easy. We were doing some detailed drawing. Windows delegated to the Windows API and MAC delegated to OS X and Aqua. There in was a big difference things were done differently underneath. We were using wxWidgets but even the X-Server based technologies that we examined seemed to have the same problem. Java had this same problem when first introduced around 1995 (we may remember the old joke write once test everywhere when it first came out) so Sun reworked it and interposed their own layer now called "Swing". Cross platforming is easier now but there is a performance hit to go with it. If you want to see it just launch Eclipse and wait. I noticed there wasn't that big hit in Mono so if the multiplatform effort ever matures, I am a convert.

United StatesJohn Marcovitz


close
NEXT ARTICLE
Nokia sells off remaining Qt assets
The cross-platform application and UI framework is sold off as Nokia focuses on Microsoft’s Windows phone system Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
JUNE 2013 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
 
 
 

Events calendar tab
Mobile Commerce World
6/24/2013 to 6/26/2013
San Francisco
UBM TechWeb
USENIX Federated Conference
6/24/2013 to 6/28/2013
San Jose, Calif.
USENIX
Microsoft Build
6/26/2013 to 6/28/2013
San Francisco
Microsoft
Conf. on Big Data Security
7/17/2013 to 7/18/2013
Boston
MIS Training Institute
ACM SIGGRAPH
7/21/2013 to 7/25/2013
Anaheim, Calif.
ACM SIGGRAPH