9

I like to write small GUI applications using Java and Swing, something like a client for the social website Tumblr

Should I use Eclipse RCP or the Netbeans platform?

And what benefits do I get from using either one over using plain swing/SWT?

Do RCP applications require more dependencies than those developed using Swing or SWT?

6

Deckard had a pretty good response. I'd like to add that it's worth considering how this project will be maintained down the road. Consider how many of your coworkers (or developers in general) are familiar with Swing et al vs. how many are familiar with RCP. My organization had some headaches when we wanted to dust off an old RCP application. It turns out that most of the people involved with designing the project had either left the company or moved into non-developmental roles. Our in-house expertise was more in Swing, so this made things more difficult than they needed to be. We also had a desire to integrate parts of it with a separate, Swing-based application, and again the fact that the old app was an RCP application made things difficult.

I'm not saying you shouldn't create an RCP app, but these are some things you might want to consider first.

7

Essentially, when you use Swing, you have to set everything up manually: you define the Window, each area and control, inside that again you define each control. For every control and area you define handlers to deal with changes and user actions, etc. You need to do this because nothing will work unless you explicitly define and implement it.

The RCP allows this as well, but comes with a bunch of higher level components that do a lot of the common stuff. For example, it's only a couple configuration steps to define a multiple document interface (MDI) or to add toolbars with icons that launch external plug-ins when you click on them.

Since the RCP is what powers Eclipse, the basic blocks tend to focus on applications that have needs similar to a development environment: extensive text editing in all kinds of windows, using all kinds of context-sensitive menus/toolbars/operations/etc.

So if you want to make a small custom application with lots of non-standard stuff in it (such as a flashy Twitter client that has all kinds of custom-drawn or skinnable controls), there's no real point in using RCP. In fact, it will drag 5+MB of plug-ins into your application without any real benefit.

If you want to make an application that displays web pages, requires an extensive help system, needs to do auto-updating over the internet and that kind of large-scale desktop application functionality, then RCP will be a great fit.

0

I'm a professional Java software engineer with great expertise on both Eclipse RCP & Netbeans Platform.

"Should I use Eclipse RCP or the Netbeans platform?"

Answer: It depends on the following factors:

  • Your expertise in Java.
  • The effort required to implement something in both RCPs.
  • The clarity of the documentation of each RCP.
  • The preferred look & feel that you want to provide to your end users.

Here are the Pros & Cons for each of these RCPs according to the factors i mentioned above:

The Netbeans Platform:

Pros:

  • The clarity & organization of the documentation is EXCELLENT! But the active community is small compared to the Eclipse RCP developers' one.

Cons:

  • Requires a great expertise in the Java language.
  • It requires way more code to be written compared to the Eclipse RCP in order to do the same thing.
  • The look & feel is not native. The Netbeans platform is based on Swing, thus you get the same Java Swing Look & Feel across all target platforms!

The Eclipse RCP:

Pros:

  • Requires a just a good Java knowledge with also a good knowledge of Dependency Injection (in other words, no Kung Fu things are required :P)!
  • The resulting look & feel is far more native than the Netbean's one. That is because the Eclipse RCP is based on SWT. (that is a con for me though-just because i'm not a fun of SWT, personaly)

Cons:

  • The clarity & organization of the documentation is not so good! Cons.

My personal preference is the Netbeans platform just because i like to have a complete control of what i'm doing with my code, and because i think that the Swing-based UI is way more stable than the SWT (i'm used to have some UI crashes in my Eclipse IDE while i'm coding :P )!

"Do RCP applications require more dependencies than those developed using Swing or SWT?"

Answer: The dependencies is what make these 2 babies roll. Otherwise, it would be needless for them to be called RCPs. RCP stands for Rich Client Platform, meaning that is an ecosystem (a large set of APIs) that helps in building "Rich" applications by providing the means to do so (through APIs). ;-). Thus, the answer here is "YES, WAY MORE DEPENDENCIES"!

protected by gnat Aug 23 '18 at 4:40

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.