Welcome!

doing TODAY and not getting caught in the HYPE of tomorrow

Alan Williamson

Subscribe to Alan Williamson: eMailAlertsEmail Alerts
Get Alan Williamson via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java Developer Magazine

Java Developer : Article

Swing Is Swinging Java Out of the Desktop

Swing Is Swinging Java Out of the Desktop

Over the last few months I have made more than a passing reference to the fact that I personally feel that, in its present state, Java doesn't stand much chance on the desktop against the march of Microsoft's WinForm technology from the .NET Framework. A view, I have discovered, shared by many of you. Before I go on, let me clarify my position here so we are all on the same page. The frameworks currently available to the Java developer from the standard JDK, of course, are AWT and Swing. Naturally we are not talking about other client-side technologies, such as SWT, Thinlets, and Droplets to name a few, but more on them later.

The less said about AWT the better. It doesn't even stand up to the functionality of an HTML page with a basic FORM embedded in it. But we were told not to despair, Sun promised a much better technology was in the works. We were then presented with Swing, which definitely looked the part. However, while academically a sound design, in reality it is a dog-slow technology that suffers from far too much abstraction and object creation to be practical. Swing applications require a lot of memory and a lot of horsepower to get anywhere with them. I know there are some great examples of Swing applications, and 9 times out of 10, I am shown Forte and other heavy weight IDEs, which conversely are great examples of how much stress Swing really does put on the desktop.

There are some great analysis pieces on why Swing is slow and impractical on many Java forums around the planet, but I urge you to check out some of the discussions on JavaLobby and Slashdot. You will notice the conspicuous absence of many counter arguments.

I have already mentioned in a previous editorial how we've missed the boat with applets and how Macromedia have stolen Java's thunder with their Flash technology. It grates on my nerves every time I surf to a particularly Flash-heavy site, as this was the precise role Java was promised to deliver. I strongly believe that AWT lost us this battle, and Swing was far too heavy to be anywhere near a browser to be even considered in the running.

The title of my editorial (sadly not mine but from a poster to our Ask JDJ feature) sums it up very well: If Swing is our only hope then boy are we in trouble!

However do not despair. I have news - great news - about Java on the client side. We may have lost the first round of battles, but the war is still to be fought. We can't rely on Sun to offer us help here (in fact I am awaiting an e-mail back from the tech lead at Sun for client -side Java, who is still to defend their Swing position), so we have to look to third parties for their efforts. You won't be disappointed.

The first technology I would love to tell you about is an effort from an individual buried deep within Europe, www.thinlet.com. This is a very lightweight GUI framework, with very rich widgets that you can easily use. You describe your front-end using XML and building up an applet is very quick and easy. The size of the framework is 30KB. That's it! Check out his Amazon demo and please e-mail if you aren't impressed. This is why Java is so exciting and shouldn't be underestimated.

The second technology is the Standard Widget Toolkit (SWT) from the Eclipse project. This is a little heavier than the Thinlet technology and is there to build applications that would ordinarily be installed on the desktop. This is a direct competitor to Swing, and from all reports, does a much better job. By all accounts, running their Eclipse IDE on a 400Mhz machine whips along and is very fast, in stark contrast from running an equivalent Swing application within the same constraints.

If you need your faith in Java re-energized, then look to the community and what they are doing. If you are waiting on Sun, then don't, they are too busy fighting Microsoft than to worry about the actual technology they supposedly fighting for!

More Stories By Alan Williamson

Alan Williamson is widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, http://alan.blog-city.com/ or e-mail him at cloud(at)alanwilliamson.org.

Comments (79)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.