I have had in mind to spend some time playing with Eclipse RCP for quite a long time now. What do I mean, with playing? Well, developing a production grade application for my preferred domains, Machine to machine (M2M) or Internet of Things (IoT), so that I really get a grasp of RCP. I now have his opportunity. So, let's start!
This article, and next ones, will contain various notes I write down while going forward with this new project. It's not meant as being a tutorial, as I do not know RCP yet .
I'll use Eclipse Rich Client Platform book, by Jeff McAffer, Jean-Michel Lemieux and Chris Aniszczyk, as main training source. Just to make it a little bit more challenging, I decided not to use the Eclipse version they recommand (Galileo SR2), but Kepler...
Help provided with Eclipse RCP is useful as well (see Help > Help Contents > Plug-in Development Environment Guide and Platform Plug-in Developer Guide).
My target: an application that can receive and display in real time data received from remote mobile agents (an embedded device inside a vehicle, a smartphone carried by a runner, etc.) I developped, installed and maintained such systems for about 14 years, during a previous professional life. So, involved paradigms are not new for me. But Eclipse RCP technology is...
Unless otherwise stated, development environment is 64-bit Linux Mint 14 (Nadia), a distribution derived from Ubuntu 12.10 (Quantal Quetzal). I use the MATE version of Nadia.
I install latest Eclipse version, at time of writing: Eclipse for RCP and RAP Developers, Kepler SR1 (4.3.1 - 64-bit version):
As I use subversion, I add subversive, as described in this article (in my Linux Mint 14, svn version is 1.7.5).
Before going further, I select the Plug-in Development perspective.
As explained by the book, I first create a target, storing its definition into the workspace:
I then download the 4.3 Delta Pack from here. Once downloaded:
Adding RCP SDK as a software site is done as follows:
To create a simple skeleton:
That's it. In the Package Explorer view, we now have the com.monblocnotes.helloworld project. It contains a plugin.xml file. Opening it displays a plug-in editor window. Clicking on Launch an Eclipse application in the Overview tab starts our HelloWorld application.
Five java files have been generated:
Before being able to package my HelloWorld application, I have to define a product configuration:
The new product configuration is displayed in an editor window. A product definition must now be created:
As we didn't add any "external" files to the project (splash image, icons, etc.), we don't have to modify the default binary build. So, simply:
That's all folks! The helloRCP (launcher name defined in previous step) file that was created in helloRCP1.0 subdirectory launches the application.
The size of the whole helloRCP1.0 folder tree is 27.7 MB.
A target describes the platform you are developing for.
A product is a stand-alone program built with Eclipse. It includes all code and plug-ins.
Next article: installing uDig RCP SDK.