Which Rich Client Platform to use

Peter Osborne picture Peter Osborne · Feb 23, 2009 · Viewed 20k times · Source

We recently started to develop a Java desktop app and management has requested that we make use of Rich Client Platform. I know of four for Java namely:

  1. Eclipse RCP - www link to ecipse rcp,
  2. Netbean RCP - Netbeans RCP web site,
  3. Spring RCP - spring rich client
  4. Valkyrie RCP - Valkyrie rich client

Has anyone got any experience in any of these and if so what are the strength and weaknesess of each?

thanks

Answer

Martin Lazar picture Martin Lazar · May 27, 2009

INTRO - skip if you're only interesterd in result ;)
I was developing an editor for a custom programming language very simmilar to JSP. First I've implemented the editor as my thesis using NetBeans platform. After finishing school I've got a job and they wanted me to implement the same thing in Eclipse RCP, so now I can compare these two platforms at least in stuff I was facing during this project.

RESULT - If I had a choice between Netbeans platform and Eclipse RCP, I would definitelly pick a NetBeans platform. Why?
Great screencasts, good tutorials, very active friendly and helpful community, quite well documented and the source code is written nicely and with good code conventions. Also has some interesting gadgets (cookies, lookup). It simply suits me.

And why Eclipse RCP does not suit me?
The documentation is weaker and conventions and API are sometimes..ehm..too weird for me :-) It's quite ususal to see methods like:

/**
* Returns a description of the cursor position.
*
* @return a description of the cursor position
* @since 2.0
*/
protected String getCursorPosition() {
..
}

Well I thought they must be kidding me :-D How am I supposed to use this method? Or like this:

/**
* Returns the range of the current selection in coordinates of this viewer's document.
*
* @return a <code>Point</code> with x as the offset and y as the length of the current selection
*/
Point getSelectedRange();

Although the number and type of attributes fitts, I don't find the Point object ideal data structure for storing range ;-)

There are numbers of theese such surpises in Eclipse RCP