common client rich client platforms

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

Upload: geertjan-wielenga

Post on 08-May-2015

2.777 views

Category:

Technology


4 download

TRANSCRIPT

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