views:

222

answers:

2

I need to write a GUI for a Java desktop application and I want to use something more / better than Swing. What is the learning curve for the NetBeans RCP like? The learning curve for Eclipse RCP is so bad that it's not worth considering:

"Right now, after one week of training, a RCP newbie just touched the very basic things of RCP. This is one reason why many big industry companies have problems adopting RCP. "

http://wiki.eclipse.org/E4/RCP_Future

Is the learning curve for NetBeans RCP considerably less?

Thanks.

Dean

A: 

We've had a summer intern working on an application based on the Netbeans RCP and it's been going really well. Because it's mainly swing, lots of your existing knowledge is directly applicable. You can still use tools such as the Matisse GUI builder and just need to learn a few patterns to get lots of benefit from the RCP.

The book The definitive guide to the Netbeans Platform is an excellent reference/tutorial and is reasonably up to date.

It's also worth checking out Geertjan's Blog - he's the technical author of the Rich Client Platform documentation and his regular blog posts form a Netbeans RCP cookbook.

Robert Christie
A: 

I doubt that the inherent complexity is dramatically different between any GUI libraries of substantial size. Since Netbeans RCP is actually Swing-based (with a better platform-look-and-feel on Windows, I think), the learning curve might be somewhat flatter for you, since you already know Swing.

"Right now, after one week of training, a RCP newbie just touched the very basic things of RCP. This is one reason why many big industry companies have problems adopting RCP. "

This may or may not be correct, but consider that in some cases (i.e. no fancy graphics/canvas/3D/bitmap manipulation), just plain old dialogs/forms go a long way. The critical parts to master are (in my opinion) the list/tree-models and the general data-binding mechanisms and to find, learn and stick to a layout manager that works (MigLayout is superb and has backends for Swing and SWT).

pmf