[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.platform.swt] Re: Using SWT/JFace to build Fat-Client App

Mark wrote:
Thanks for David and Hans's answers.


Swing has a much better, richer API and thus is easier to develop with. However, performance wise, it sucks.

I heard that Swing 1.4 improves a lot in performance. I also heard from Java newsgroup saying that in most cases, Swing is fast enough. I have been hearing/reading conflicting comments.

Pff. I bet JList is still slugish. You cannot beat the speed of native widgets. Sun should implement native widgets that respects Swing's API for all major platforms. That would be the best.


Anybody has a JList working under 1.4? Is it as fast as list in normal Windows apps? If you have time to spare, why not implement two small test programs, one with Swing's JList, the other with SWT's List. Fill the lists and scroll with the mouse. Tell us then if any of them is sluggish. Try this on a computer which CPU speed is <1GHz.

So I would use Swing for an application where minimizing development cost is imperative and the user base is small (like an internal project). But SWT/JFace is the way to go if you expect your application to be widely used, mostly by external customers.


It sounds like your comments imply that for the same application,
development using Swing will be QUICKER than to use SWT/JFace.  I think
this will definitely be a concern because this means more development cost
for SWT/JFace solution.

Yep, but a user cannot tell if an application written with SWT is a Java application. That is a big plus. Marketing wise, you would probably want to go with SWT, specially if the user base is large. Eclipse plugins are written using SWT/JFace, and see by yourself how responsive the IDE is. I hate working with SWT, but love the final result and this is why I go with it.


Actually, before your reply, I would think that development Swing would be
a lot slower than SWT/JFace....

Swing's API is much more flexible, richer and follows the MVC paradigm. SWT is more basic and thus you must implement more supporting classes. JFace helps, but is not Swing. Also, you are not allowed to subclass SWT widgets, while you can subclass Swing widgets. You have to do more under SWT than you have to do under Swing.


Because SWT lacks a few features, a started a little open source project named SWT MVC Wrapper (http://swtmvcwrapper.sourceforge.net). Its still alpha though.

Its sad that there is not a real, powerfull and fast GUI API for Java. This is why Java never took off as a platform for GUI building...


Sincerely, Hans Deragon -- Deragon Informatique inc. Open source: http://www.deragon.biz http://swtmvcwrapper.sourceforge.net mailto://hans@xxxxxxxxxxx http://autopoweroff.sourceforge.net