New topics: Your Pet, IOU, Baby IQ, The Poisons, Birther II, Games, Future Power

Welcome to the Tech Space!

Interested in Games?

Skip to end of metadata
Go to start of metadata

swt vs. swing 2011
* h3. Java Desktop application:SWT vs.Swing- Stack Overflowstackoverflow.com/questions/.../java-desktop-application-swt-vs-swi... - Cached
10 answers - Feb 21, 2010
Where I'm not so sure is if I should use SWT or Swing. .... @Karussell: As of 3/4/2011, Sun's 64-bit JVM for Windows has JNLP support. ...

You visited this page on 9/14/11.
?

You visited this page on 9/14/11.

Swing vs. SWT?

April 28, 2005

An article published in April 2005 by "Mr. Ed" entitled SWT Happens provided a list of reasons why SWT and JFace are an inferior solution for Java application development in comparison with AWT and Swing. Specifically, the technical quality and productivity of Eclipse as an application development platform was brought into question. However, having myself worked as a developer on several Swing-based and Eclipse-based products, the article missed the mark on several accounts and warrants a detailed rebuttal.

This article contrasts developer productivity when using the Eclipse and Swing platforms for application development, because this is a key consideration when choosing a technology stack. Unfortunately, the analysis of "Mr. Ed" is flawed precisely because he tries to frame the productivity debate in terms of AWT/Swing vs. SWT/JFace when, in reality, a more valid comparison is between AWT/Swing and the Eclipse development platform as a whole, which consists of many layers on top of JFace. When the features of the entire development platform are introduced into the comparison, it becomes clear why Eclipse is becoming the software development platform of choice for so many in the Java community.

...

Enormous amounts of functionality can be delivered in weeks. But take this bit of advice: don't program against the grain in Eclipse. Don't try to dismantle the framework and rebuild it to suit your tastes. So the height of the dialog header is 30 pixels instead of 35 -- or the cancel button for background tasks is red instead of mauve the boss wants -- or you want, as "Mr. Ed" did, an Outlook-like "cool-bar" instead of a "toolbar" -- or you want the font on the preferences dialog to be a size larger -- my advice is to forget about it. It most cases, these types of "requirements" are driven less by end-users and more by misguided members of development teams who think they know what is best for the user. Programming against the grain is so counterproductive in Eclipse and SWT that if your end-user requires extensive tweaking of the user interface, then I wholeheartedly recommend using Swing. It will certainly provide you the desired flexibility -- only, expect to pay a heavy price in terms of productivity.

http://www.ahmadsoft.org/articles/swingswt/swingswt.html

----

Contrary opinion: Oh, and their Mac OS X and Linux port are *horrible*. Worst than the JRE 1.4 "metal" theme of Swing. Whoever is working on Eclipe and SWT *really* dropped the ball on cross-platform GUI development.

Swing and Webkit

* http://stackoverflow.com/questions/2492540/webkit-browser-in-a-java-app

** See - http://weblogs.java.net/blog/ixmal/archive/2008/05/introducing_jwe.html

SWT has support built-in for GWT, Windows, and OS X. Support for GWT and OS X will probably be less substantial than for Windows.

http://lists.macosforge.org/pipermail/webkit-help/2009-December/000548.html

XULRunner probably has much better API access between Java and the DOM.

Swing Vs. SWT

pro Swing:

  • part of java library, no need for additional native libraries
  • works the same way on all platforms
  • Integrated GUI Editor in Netbeans
  • good online tutorials by sun
  • Supported by official java extensions (like java OpenGL)

contra Swing:

  • Native look and feel may behave different from the real native system.
  • heavy components (native/awt) hide swing components, not a problem most of the time as as use of heave components is rather rare

pro SWT:

  • uses native elements when possible, so always native behavior
  • supported by eclipse, gui editor VEP (VEP also supports Swing and AWT)
  • large number of examples online
  • has an integrated awt/swt bridge to allow use of awt and swing components

contra SWT:

  • requires native libraries for each supported system
  • may not support every behavior on all systems because of native resources used (hint options)
  • managing native resources, while native components will often be disposed with their parent other resources such as Fonts have to be manually released or registered as dispose listener to a component for automatic release.

An important thing to consider is that some users and some resellers (Dell) install a 64 bit VM on their 64 bit Windows, and you can't use the same SWT library on 32 bit and 64 bit VMs.

This means you will need to distribute and test different packages depending on whether users have 32-bit or a 64-bit Java VM. See this problem with Azureus, for instance, but you also have it with Eclipse, where as of today the builds on the front download page do not run on a 64 bit VM.

SWT vs. Swing & Eclipse vs. NetBeans 5.0

At 4:43 PM on Feb 3, 2006

http://www.javalobby.org/java/forums/t63186.html -

SWT VS. SWING

SWT IS FAST AND SWING IS SLOW. In theory, this makes sense since SWT is written in compiled code. However, some argue that if you code Swing right its fast and that Swing has gotten faster with later releases. There are surprisingly few benchmark tests on a metric that should be relatively easy measure. The closest that Ive found is http://www.javalobby.org/articles/swing_slow/index.jsp.

SWT IS MORE USABLE BECAUSE IT DISPLAYS NATIVE WIDGETS. Since most users are more likely to switch between applications on the same platform than use the same application on multiple platforms, from a usability standpoint, consistency within the platform is more useful than consistency across platforms. That said, on the web users deal with highly divergent interfaces (Web pages) and seem to manage OK as long as the individual site is well designed and internally consistent. Additionally, Swing now has a native platform look-and-feel feature.

SWING HAS MORE FUNCTIONALITY. The most widely cited examples are the ability to put both a graphic and text in a button and better table functionality.

SWT IS EASIER FOR DEVELOPERS TO LEARN THAN SWING. This is countered by the fact that there are a lot more books and tutorials on Swing and many more deployed applications. Also, using the Matisse GUI builder may make this less of an issue.

SWT is ugly on Linux. Some say the issue is that Linux native GUI elements are ugly.

ECLIPSE VS. NETBEANS

ECLIPSE HAS INDUSTRY MOMENTUM. Some counter that developers are returning to NetBeans. However, it is hard to determine if this is only marketing hype.

MATISSE IS BETTER THAN ECLIPSE GUI BUILDER PLUG INS. The new NetBeans Matisse GUI builder has received very positive reviews. On the negative side, Matisse uses protected code that prevents you from editing within its generated code. This may not be a problem if the GUI builder creates code that doesnt need to be tweaked. Alternatively, there are well-reviewed Eclipse plug ins that provide complete graphic/source roundtriping (http://www.fullspan.com/articles/java-gui-builders.html).

WHAT DO YOU THINK?

REFERENCES
SWT VS. SWING

Swing and SWT: A Tale of Two Java GUI Libraries
http://www.developer.com/java/other/article.php/10936_2179061_1

Hacknot: SWT - So What? (24 Apr 2005)
http://www.hacknot.info/hacknot/action/showEntry?eid=74

Ozgur Akan's Blog: Why I choose SWT against Swing (November 19, 2004)
http://weblogs.java.net/blog/aiqa/archive/2004/11/why_i_choose_sw.html

Eclipse.org thread on Swing vs. SWT (Jan 17 2006)
http://www.eclipse.org/newsportal/article.php?id=131&group=eclipse.technology.jwt

What does "Swing is Slow" mean?
http://www.javalobby.org/articles/swing_slow/index.jsp

Wikipedia on SWT
http://en.wikipedia.org/wiki/Standard_Widget_Toolkit

Wikipedia on Swing
http://en.wikipedia.org/wiki/Swing_%28Java%29

ECLIPSE VS. NETBEANS
Sun unphased by an Eclipse that's living up to its name (February 28, 2005)
http://blogs.zdnet.com/BTL/index.php?p=1090

NetBeans 5.0 Out of Beta (February 02, 2006)
http://www.theserverside.com/news/thread.tss?thread_id=38812#199234

Why Eclipse Developers Are Moving to NetBeans CLD blog (March, 11 2005)
http://cld.blog-city.com/why_eclipse_developers_are_moving_to_netbeans.htm
Comments on the blog (Mar 15, 2005)
http://www.javalobby.org/java/forums/m91828413.html
http://woeye.highteq.net/blog/details/104

The Next Wave of GUIs: Project Matisse and NetBeans IDE 5.0 (December 2005)
http://java.sun.com/developer/technicalArticles/Interviews/violet_pavek_qa.html

Java GUI Builders (review, April 6, 2005)
http://www.fullspan.com/articles/java-gui-builders.html

WindowBuilder Pro: Advanced Java GUI Creation in Eclipse (October 14, 2004)
http://www.devx.com/Java/Article/22186

NetBeans 5s Matisse impressions (January 13th, 2006)
http://javachaos.crazyredpanda.com/?p=84

Who Doesn't Want a Cool Free GUI Prototyping Tool? (January 24th, 2006)
http://colmsmyth.blogspot.com/2006/01/who-doesnt-want-cool-free-gui.html













Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.