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

Common Client Rich Client Platforms

May 08, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Common Client   Rich Client Platforms

March 30 2009

Charlie Black

Senior Software Engineer

Common ClientRich Client Platforms

Page 2: Common Client   Rich 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).

Page 3: Common Client   Rich Client Platforms

3

Eclipse

Page 4: Common Client   Rich Client Platforms

4

Netbeans

Page 5: Common Client   Rich Client Platforms

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

Page 6: Common Client   Rich Client Platforms

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

Page 7: Common Client   Rich Client Platforms

7

Pros and Cons Netbeans

• Pros– Its 100% Java

• Cons– OSGi support is in beta.

Page 8: Common Client   Rich Client Platforms

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)

Page 9: Common Client   Rich Client Platforms

9