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.
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.
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.
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.
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.
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With