views:

843

answers:

6

While I have played with parts of Qt in the past I am thinking of putting some real effort into learning it but also wondering what the potential monetary payback might be down the road. So I have some general questions about Qt's future.

What is Qt's place in the job market? Are there many, or do you sense a growing number of installations using it? What are its main competitors?

What kind of enterprise niches does Qt satisfy? Are more corporate applications trying to be cross-platform these days or do most of those efforts go the Java, etc., route?

Since being bought by Nokia I assume Qt has a viable future on mobile devices. Has this in fact been working out? Is Qt pretty much limited to Nokia offerings or does it have a place on Android devices, etc.?

Please feel free to comment on any aspect of Qt's future that I may have missed.

+7  A: 

Don't have a real answer for you, but I recently saw this diagram for job trends with various C++ libraries.

Nemanja Trifunovic
+4  A: 

Qt is one amongst a number for GUI frameworks and libraries, such as wxWidgets, Windows Forms, MFC, GTK+, VCL and many others. I suggest that the choice of framework is seldom a critical business decision, the choice is most often determined by such things as platform, functionality required, existing developer experience, and development tool support.

A general working knowledge of GUI frameworks is probably far more useful since it would make your skills more portable. Specialising in a single technology seldom pays in this business, flexibility and an ability to acquire new and relevant skills quickly is.

However Qt is the basis of the KDE environment, so for any Linux development targeting KDE, Qt would be a useful skill.

I know for a fact that this company's products are Qt based to provide cross-platform portability.

Clifford
I strongly believe there will be a rapid rise of Qt popularity now that 4.5 is out under LGPL. It's just that nothing else in C++ land comes anywhere near close for easy _and_ powerful RAD with good tooling, so the only thing stopping people so far was fairly expensive licensing.
Pavel Minaev
+5  A: 

They have been around since 1995, and recently some feared that Nokia would buy them to stifle the competition in favour of Symbian. Now that seems definitely out of the way by the way Qt will soon support Symbian and Maemo 5. Seeing the effort they spend in R&D and what their framework already provides on so many platforms, I wouldn't worry about their future.

As an open-source platform, I would venture Android devices are more of a competitor, rather than a possible platform, but it's just a wild guess ;-) There are some fierce debates out there on the subject.

Another real competitor would be .NET, both offer more than just IDE building tools and deal with workstations and the embedded world.

Clifford's advice about not sticking with only one framework is very wise IMHO. Another argument to start with Qt beside the advantage of covering more platforms is that it uses the C++ language, which is more demanding than C#. Starting with that will give you good programming habits, and it will be much easier to investigate something else later, be that a C# or a Java-based framework: you'll have a better idea of what lies behind the scenes of memory management (if that is not already the case, that is), and your code will be potentially more efficient.

RedGlyph
+3  A: 

I've been doing contract work using the Qt framework for about two years now, for entertainment software. Here's what I have found:

  1. It's a great toolset for developing cross-platform applications. Easy, fast, powerful, advanced. I never feel constrained using it. Since it's developed in C++ you can easily embed any number of C and C++ libraries out there and quickly delve into the native system APIs when you have to. If it has a niche I would say it's performance critical GUI applications, dealing with 2D/3D graphics...etc. I personally have not seen an enterprise-level company which uses Qt.

  2. I live in the South-Eastern US (Atlanta) - I rarely see any job offers around here, mostly .NET or Java. The job offers I see tend to be on the West Coast, or overseas. However, I do see more than I used to, probably due to Nokia's involvement.

  3. I do feel it is growing in popularity instead of shrinking. I see things like QtCreator and the like as good indications of this.
JimDaniel
+5  A: 

I started using Qt in 2007. I liked it a lot, but the price meant that I couldn't use it as much as I would have wanted to.

The Nokia acquisition has been a good thing so far: (ex)Trolltech have completely opened up their development process. You have access to their VCS and bug tracker, you can contribute code, test development snapshots, open and track issues and so on. They value input from the community.

The framework is high quality and very popular in the open source world (KDE comes to mind). LGPL licensing has resulted in a bigger adoption with commercial software developers. This year's DevDays has seen a record attendance.

What is Qt's place in the job market?

I'm not based in the US so I don't know what the situation is over there. Most C++ jobs are MFC in my area. I know of a few places that use Qt.

Are there many, or do you sense a growing number of installations using it?

I've definitely seen more interest in newsgroups/forums/online communities.

What are its main competitors?

.NET on Windows, Cocoa on Mac and GTK+ on Linux. When it comes to C++ only wxWidgets, MFC or WTL could be considered as alternatives, although I would argue that Qt is in a different league from them.

Is Qt pretty much limited to Nokia offerings or does it have a place on Android devices, etc.?

Qt is also available on WinMo/CE and Linux devices. Symbian is not Nokia-only any more. I don't think that we'll see an official Android or iPhone port. Right now they're working full steam on S60 and Maemo support.

rpg
+2  A: 

I'm doing embedded development and see Qt increasing market share with innovative ideas. Stopping QtExtended worried me for some time, but now I'm convinced QT in embedded is growing rapidly.

Not only in mobile/smart phones, but automotive as well. Wanting your App cross-platform for Symbian AND Maemo AND WinCE AND Linux (AND all Desktop) platforms, I don't see a competing Toolkit.

Yet I have no seen a company hiring that skill, but everythin under LGPL and developments like Qt Mobility are quite new.

dnigmig