Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse RCP or e4 to build GUI for desktop application?

Tags:

eclipse-rcp

I have a Java desktop application running from the command line. I need to put a rich GUI on it and Eclipse RCP would be ideal, except there are some problems with it - especially the learning curve.

The Eclipse RCP book is out of date (written for Eclipse 3.1). I don't know how up-to-date and complete other resources for learning Eclipse RCP are. The e4 project was supposed to simplify this learning curve, but there are few resources for learning e4.

Can anyone offer some insight as to whether Eclipse RCP or e4 is better suited to building a rich GUI for a desktop application given that I'll have to deal with the learning curve for whichever one I choose?

Thanks.

like image 324
Dean Schulze Avatar asked Feb 27 '10 22:02

Dean Schulze


People also ask

What is the difference between Eclipse and Eclipse RCP?

Eclipse-based applications which are not primarily used as software development tools are called Eclipse RCP applications. An Eclipse 4 RCP application typically uses the base components of the Eclipse platform and adds additional application specific components.

What is Eclipse RCP application?

While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the Rich Client Platform.

What is Eclipse e4?

e4 is an incubator for community exploration of future technologies for the Eclipse Platform. The project has a number of principal aims: Explore technologies for inclusion in the SDK: This will allow us to explore and incubate new technologies and patterns for use in the SDK.

What is RCP programming?

The rich client platform (RCP) is a programmer tool that makes it easier to integrate independent software components, where most of the data processing occurs on the client side.


2 Answers

Eclipse 3.x

The learning curve for Eclipse development in general is quite steep indeed, no matter if you are developing plug-ins or standalone RCP applications. The Eclipse Plug-ins (3rd Edition) book mentioned in zedoo's answer is a very good starting point for understanding the underlying concepts and APIs of the Eclipse 3.x stream. As far as online resources go, Lars Vogel has lots of very detailed and useful tutorials on his website for RCP deleopment and Eclipse plug-in development in general.

e4

The Eclipse 4.0 SDK Early Adopter Release main page has links to a couple of tutorials and a very detailed release notes, and most importantly a new & noteworthy page with all the shiny new features compared to the 3.x stream.

Conclusion

Of course e4 is still not as mature as Eclipse 3.6, the latest release in the 3.x stream, which is clearly a downside. However, as far as I can see after playing around with it recently, the APIs and the whole development methodology have been streamlined, which makes it easier to get up and running. Documentation is still a bit sparse, but new tutorials and blog posts keep popping up frequently and there is more and more buzz around e4 in general.
Starting directly with e4 would save you the trouble of learning and eventually unlearning the 3.x API, so if you are in it for the long run, I would say go for e4 now. If this is just a relatively short one-off project and you want to reduce the risk, then go for 3.x and reap the benefits of the mature code base and lots of documentation.

like image 59
Zsolt Török Avatar answered Sep 22 '22 23:09

Zsolt Török


As you say, there's not too much literature available, I'd stick with the bigger community, and that's almost certainly Eclipse 3.4/3.5. I can recommend this book, even if it doesn't cover RCP. For the RCP part I'd just start with one of the samples (the basic email rcp app) and experiment. The eclipse newsgroups are a great source of information to learn and get help.

like image 44
zedoo Avatar answered Sep 22 '22 23:09

zedoo