Andrew Binstock: The Java GUI Toolkit Flatline
November 15, 2007 —
(Page 1 of 2)
We are seeing the transformation of the client into an incredibly rich personal experience.
AJAX, RIA and other Web 2.0 technologies are driving new paradigms in the browser, while Windows Presentation Foundation (WPF) is similarly improving desktop GUI experiences on Wintel systems. One technology that has not participated in this revolution is Java. In fact, its hard to recall any major stories regarding Javas built-in Swing toolkit or IBMs competing Standard Widget Toolkit (SWT). I find this curious, because we all remember how just a few years ago the rivalry between these two camps was intense. Since then, the smoke has cleared, and we see that the fires of innovation in both camps are on a very low flame.
Swing, as most of you will recall, came out in 1998 with much fanfare as part of the Java 1.2 release. Its claim was remarkable breadth of functionality and a nearly infinite configurability. Any interface need of that periodno matter how complexcould be done in Swing. And because Swing was skinnable, it could be made to approximate the look and feel of Windows, Motif and other interfaces. But Swing had drawbacks: At the time it was slow and its emulation of native widgets and controls was far from faithful. Moreover, Swing was difficult to program.
In response, IBM developed SWT. The defining aspects of SWT were the use of native widgets and simplicity of programming. In exchange, it gave up the full complement of functionality that Swing offered. Because the primary use case for SWT was the Eclipse IDE, the features left behind (such as truly rich text) were not likely to be terribly missed.
When SWT came out, it was indeed faster than Swing, and it used native widgets. Shortly, the JFace library appeared, which expanded SWTs power by providing higher-level constructs, while still allowing direct access to the lower-level controls.
Since then, though, progress has consisted primarily of refining the underlying technology rather than advancing it, and porting to new platforms. Swing, for example, now runs very fast and has an interface that is faithful to underlying look and feel. If todays Swing had been available when IBM began getting serious about Eclipse, I doubt SWT would have been funded or needed.
Share this link: http://sdt.bz/31327
Most Read Latest News Blog Resources
Virtualization: Not just for machines anymore
Network virtualization allows multi-tiered applications to behave as though they were in a physical network
|
|
Alan Turing’s centennial provides a retrospective on his influence
Turing Award winners will gather in June to review his impact on technology
|
|
Achievements and learning: Gamification comes to businesses and schools
Startup takes page from gamers by offering achievement marks to get developers more engaged in their projects
|
|
Magic announces the release of its revolutionary mobile offering for the development of business applications, with new native clients for iOS and Android platforms
Magic announced today the availability of native iOS and Android clients for its mobile enterprise application platform
|
Alan Turing’s centennial provides a retrospective on his influence
Turing Award winners will gather in June to review his impact on technology
|
|
Virtualization: Not just for machines anymore
Network virtualization allows multi-tiered applications to behave as though they were in a physical network
|
|
Achievements and learning: Gamification comes to businesses and schools
Startup takes page from gamers by offering achievement marks to get developers more engaged in their projects
|
|
Google talks tools at AnDevCon III
New 3D debugging tool and recent ADK changes are detailed by Google developers at the third Android Developer Conference
|
Why we leave
Ten reasons good workers leave their jobs, plus a few suggestions for retaining them.
|
|
Creation
To write better software, cultivate your ability to be creative.
|
|
Slick...but who needs it?
compilr.com is a well-designed site and the folks behind it seem to have their heart in the right place. But...who needs it?
|
|
How to be a better software developer
Want to be a better developer? You won't get there by mastering an interesting language or learning a new set of APIs.
|
Ten Advantages of Platform-as-a-Service
Are you looking to accelerate innovation and reduce cost, risk and complexity as you move to the cloud? Hey, who isn't? It’s time to look at...
|
|
Five SCM Best Practices
Two-thirds of all software projects fail, according to the Standish Group’s CHAOS study. Improper usage of software configuration management...
|
|
|
Best Practices for Branching and Merging Patterns
Development teams often create a branching pattern, usually drawn out on a white board or in a Visio document, that is used as a model to...
|
|
The End of Application Redeploys
Imagine that every time you wanted to write, send or receive an email, you needed to restart your computer. How much time would this take, a...
|