SWT Claims: Show me the money
  Posted February 04, 2003    PermaLink    Comments (3)  

Yesterday Jon Lipsky posted a nice real world comparison of Swing v.s. SWT. A Sun emplyee also had a rather lenghty comparison It looks like people are starting to verify some of SWTs high claims.

One of the biggest problems I have with SWT is that the implementation is not cross platform, but is a sperate undertaking for each platform. This leads to wildly differnt user experiences! The applicaiton I am baseing this statement is Eclipse 2.1 M4 build, under both Windows 2000 and Redhat 8 with the GTK build. The first thing I have to say is that the performance and user responsiveness is so different it's like I am using two differnt applicaitons. On Linux doing multiple ctl+clicks on the source tree takes about 2 second per click for eclipse to repsond to. I can get way ahead of the appplcation, and this leads to ghost un-selections because SWT gets confused. And then a tree update from a mass "organize imports" has massive flashing on the tree. Blech! But on windows it responds just fine. But both platforms still freeze updates to the GUI when doing large operaitons, like compiling the 1023 in my current project when I change one seemingly innocent preference about code quality checks. (As an aside, responsiveness is so importaint that Sun dedicated a entire chapter to it in their Java Look and Feel: Advanced Topics book.)

Another area is that by using the native widgets you immediately upen yourself up to inherent differences of user experience. Like adding jar files to the extrnal library list: on Linux you get a tree control where you can do multiple selections across directories. Windows gives you the standard one directory look. And on windows I can click a column top to get that column to re-sort automatically. Not so on linux, you got to use some wierd triangle menu to change the sort. Stuff like this is why a look and feel that is consistant across platforms is so good. If you don't need to behave the same across platforms then why aren't you writing it with kylix or C#? You get all the native widget goodness you need out of that. If you're going to whine about native performance use native coode then!

And then there is the unproven marketing hype, such as this gem:

The real question isn't about what results expert programmers can get using Swing vs. SWT, but rather what results *average* programmers will get using Swing vs. SWT. In this light, Swing doesn't compare to SWT. [ a comment on jason]

The though of threading your own event queue and disposing of your own object is going to make the *average* java programmer run away in fear. And then manageing all of the paltform specific GUI nuances is going to eat up whatever time they may have saveed assuming they have saved any. Since the person who wrote this is a vendor for an unreleased SWT GUI Builder the perhaps he will be able to show me the money. Then we can judge for ourselves when the product is released. It's got some stiff competition with existing mature tools such as the GUI builder in NetBeans, it'a like codeing a GUI in visual basic, except for the part where you write the visual basic, which is to say it's nothing like visual basic, but I digress.

  Taking advantage of native UI
Excerpt: I just read this short critique of SWT by Danno Ferrin where he says: "One of the biggest problems I have with SWT is that the implementation is not cross platform, but is a separate undertaking for each platform. This...
Weblog: The Lone Programmer
Tracked: July 7, 2003 07:12 PM
Trackback URL
  TrackBack URL for this entry:
Name:eclipse fan
Date:June 5, 2003 09:52 AM

There is another swt gui builder on the market http://www.swtguibuilder.com
it can actually convert swing application into swt application. it would be interesting to see how many developers will start migrating from swing to swt.

Date:July 22, 2003 11:19 PM

Yes indeed Eclipse is a cross platform nightmare. And don't even think about trying to design a custom widget of any complexity. If it ain't trees, combos and entry fields ... you're in for a big dissapointment.

Can Conga rescue us all?

Date:September 4, 2004 11:31 AM

Not sure I agree. The battle for a GUI standard has gone on forever, and probably will go on forever. The main attraction of SWT is its Windows implementation, which does work like a regular Windows app and thus will pass muster with ISV customers (and Swing, with its long history of problems, did not in my experience). IBM funded SWT because they needed to look good on Windows. I am new to SWT, and maybe it will turn out to be a 'nightmare' (and it certainly doesn't have the rich swing API). But I'm gonna ditch my old GUI client UI for Eclipse Rich Client Platform (run the mdi windows as tabs on a main 'workbench' and generally make the UI work like Outlook). And then my few remaining GUI classes can be rewritten with less function (and less work to maintain) SWT. SWT and ERC are all I need.

Post Comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Remember me?

Email Address: