9
March 30 2009 Charlie Black Senior Software Engineer Common Client Rich Client Platforms

Common Client Rich Client Platforms

Embed Size (px)

Citation preview

March 30 2009

Charlie Black

Senior Software Engineer

Common ClientRich Client Platforms

2

Background

• 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 functionality.

– 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 backend purity.

– NetBeans uses the NetBeans Module System – basically traded one proprietary spec for another (SWT for Netbeans Module System).

3

Eclipse

4

Netbeans

5

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

6

Pros and Cons Eclipse

• Pros– OSGi module system

• Growing support for OSGi modules in server side frameworks

• Cons– 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

7

Pros and Cons Netbeans

• Pros– Its 100% Java

• Cons– OSGi support is in beta.

8

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) than Eclipse

• 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 IDE:

• 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)

9