Java Swing Is Dominant GUI Toolkit
As noted over on java.net, Evans Data Corporation has reported that Swing is now the dominant GUI Toolkit for Northern American developers.
Java Swing with 47% use, has surpassed WinForms as the dominant GUI development toolkit, an increase of 27% since fall 2004.
As someone who’s been developing Swing user interfaces ever since the technology was released, it’s good to see it succeeding. In some ways, it’s not surprising that it’s more popular than WinForms. WinForms is a pretty limited technology; if you want to build compelling, dynamic interfaces it really isn’t the technology for you. Swing, on the other hand, is just about the most flexible, powerful GUI toolkit around (to say nothing of its cross-platform capabilities compated to WinForms).
The downside with Swing is that it’s not trivial to use (compared to WinForms). I don’t mean the learning curve is steep; I mean that its flexibility gives mediocre developers a million ways to hang themselves (for example, firing off too many change-type events to too many event listeners can kill performance big time). I wish I’d been given a dollar for every time someone from a mediocre software shop has said to me something like - “But Java doesn’t work. We tried to use it, but even a simple button takes seconds to respond when its clicked.”
However… if you’re a talented developer, you can build the most amazing, beautiful GUIs that work fabulously well. The pity is that there are virtually no great Swing GUIs out there in the public domain. I’ve demo’ed Swing applications to large audiences throughout the US and Europe, and regularly got gasps from the audience at features they had thought impossible to implement; and to small audiences at major VC groups and banks, where I’ve gotten comments like, “that is the most impressive software demo we’ve ever seen.”
And the truth is, we simply could not have have built these applications using any other GUI toolkit, with anything close to the productivity we achieved by using Java and Swing. Of course, in the early days of Swing, I can’t pretend we weren’t living on the edge, being saved a couple of times from fatal bugs in the toolkit by a new release being made available the day before an important demo. But for a good couple of years now, Swing has been pretty much rock-solid, and reasonably performant too (OK we can still use more performance, but it’s pretty good now!).
It’s perhaps worth pointing out here, though, that I don’t think WinForms was ever really supposed to compete with Swing. Microsoft’s next-gen technology - XAML (Avalon) is looking pretty powerful. I wouldn’t be surprised if that represented some pretty stiff competition.
Simon Brocklehurst's Weblog on 10 Nov 2005 at 1:25 am
Java GUIs - Lookin’ Good!
It seems there a bit of buzz at JavaOne Tokyo at the moment. Some exciting things going on around Java on the desktop. Finally, we’re reaching the point where it will be possible in Java to make fast 3-D graphics and 2-D graphics/Swing all p…
Simon Brocklehurst's Weblog on 27 Nov 2005 at 11:21 pm
What Are The Most Popular Languages For Open Source?
My last blog entry about getting kids into programming languages got me thinking about the programming languages I’ve learnt over the years. I’ll be writing an entry about that in a few days. However, thinking about programming language…