Rich Client Platforms
March 30 2009
• Rich Client Platform
– With it, programmers can build their own applications on existing platforms. Instead of having to write
a complete application from scratch, they can benefit from proven and tested features of the
framework provided by the platform – From Wikipedia
– According to Wikipedia there are three Platforms: Eclipse, NetBeans, and Spring
– For our trade study we have only looked at Eclipse and NetBeans since Spring doesn’t provide the
client facilities of the other 2 platforms.
• Agile Client started development on Eclipse due to its use of an OSGi container.
• OSGi is a open standard specification container for deploying “modules” of
– It started from the embedded and network devices community
• Agile Client moved off of Eclipse due to SWT bugs
– SWT – Standard Widget Toolkit which is the Eclipse API for making buttons / label / and tables
• In Eclipse standard Java UI programming is a second class citizen.
– Why is there a SWT?
• The IBM smalltalk engineers that made eclipse wanted native look and feel.
• By going with NetBeans Agile Client fixed its end-user visible bugs, sacrificing our
– NetBeans uses the NetBeans Module System – basically traded one proprietary spec for another (SWT
for Netbeans Module System).
Did you see the difference?
• The end user sees very little difference.
• For Eclipse the RSS window was written in SWT and for
NetBeans it was written in Java.
• The “globe” are Java components in both examples.
• Both are “modular” in backend development
Pros and Cons Eclipse
– OSGi module system
• Growing support for OSGi
modules in server side
– SWT – Proprietary graphics system
• Notice the picture on the left…
Where is the Java based globe?
• Standard Java UI are a second
rate system in Eclipse which is
based on SWT.
• If there is an uncaught
exception in the Java UI, stack
trace, the window will freeze.
• SWT was written by eclipse
developers for eclipse in C on
GTK by IBM smalltalk developers
Pros and Cons Netbeans
– Its 100% Java
– OSGi support is in beta.
More Decision Points
• Market – Eclipse is market friendly in two ways
– A lot of developers use Eclipse
– Commercial companies use Eclipse Rich Client Platform to lure in the developer base
• Market – NetBeans is winning more awards (Open Source / Development / Utility)
• A Developer does not have to use the same IDE as the Platform they coding to.
• From a Java World Article on Eclipse vs NetBeans out of the box experience as an
• What call would I make if I had to make one again?
– Netbeans – Mainly due to the Eclipse proprietary UI api for buttons / labels (SWT)