Swing by Club Java Paris

I spoke this morning at Club Java in Paris. I’m on my way home from Eclipse Forum Europe and, of course, couldn’t pass up such a great opportunity to speak to a developer community (I’ve been speaking at a lot of Java User Group meetings lately). Vlad, who organized my attendence here, gave me the big tour of Paris last night. We hit all the well-known spots, if only briefly. It’s been many years (24) since I’ve been to Paris, so it was really nice to get out and see everything. Next time I’m here, I’m going to plan on spending a little more time so that I can get out and properly see things.

Naturally, as has been the trend over the past few months, I spoke to the Club Java about Eclipse Rich Client Platform. I tend to focus more and more on the RCP component model provided by the Equinox project; frankly, I believe that this is one of the stronger reasons for adopting RCP. The ability to assemble components and strictly manage visibility between components is pretty powerful. The ability to manage multiple versions of the components is also a powerful and important ability when you use RCP to integrate components provided by multiple teams (not all teams will necessarily be using the same versions of the same libraries at all times). Gone are the days of carefully positioning JAR files on your classpath. This is a Good Thing(tm).

The declarative nature of component configuration is also handy. First, it makes configuration of components much easier. While there are great tools for doing this in the PDE, in a pinch you can easy drop into the files with a text editor and tweak them. Best of all, the declarative information generally provides enough information to the runtime environment about the components so that they don’t need to be loaded until actual code is required from them.

Of course the ability to have real components in a system makes it possible to extend and update your application. Without components, this wouldn’t be possible. Then there’s the development tools. PDE provides great help in building components, except that it calls them plug-ins. That is, “component” == “plug-in”. In OSGi (the specification upon which Equinox is built) parlance, “component” == “bundle”. So we’ve been building real components all these years. How cool is that?

There are a great many reasons to love Eclipse RCP, and Equinox is certainly a big one. And you can enjoy it on the server too. How fun.

This entry was posted in Uncategorized. Bookmark the permalink.

7 Responses to Swing by Club Java Paris

  1. Jeroen says:

    You’re definatly on a roll…Keep on swinging!/me stops and thinks about what I just typed.Ehr, never mind…Btw, in Paris. That’s kind of close to where I live. Any idea if and when you’re a bit north in the low lands again?

  2. Wayne says:

    I’m in Nantes on July 4th for ECOOP. I think that’s a little closer 🙂

  3. Jeroen says:

    I must say, interesting conference.But no, still to far away. See, I’m from the Netherlands and everything which takes longer then 3 hours by car is way, way far away. 😉 That’s not including the traffic jams.Over here, the entire country often seems like one big happy traffic jam. :/

  4. Jörg says:

    “The ability to manage multiple versions of the components is also a powerful and important ability”Unfortunately this ability is severly hampered by bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=137574It seems that every plugin that provides a contribution to an extension can only exist as a singleton, so there cannot be different versions coexisting of a plugin that plug to extensions.

  5. Jörg says:

    “The ability to manage multiple versions of the components is also a powerful and important ability”Unfortunately this ability is severly hampered by bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=137574It seems that every plugin that provides a contribution to an extension can only exist as a singleton, so there cannot be different versions coexisting of a plugin that plugs to extensions.

  6. Wayne says:

    That’s fair (and true). But let’s not throw out the baby with the bathwater…

  7. Jörg says:

    I just hope the Equinox guys will address this issue, as it really spoils this nice and essential feature (I’m far from saying that OSGI was fundamentally flawed or something like that). Maybe they will if the bug gets more attention, and, most of all, votes! I’m afraid fixing it requires reasoning not only by the Equinox guys, though.I’m ranting about it because we have written a code generator based on EMF 2.1.1, and there is no way we could use it while EMF 2.2.0 is also present, as some EMF plugins are forced to be singletons, and some API was broken in 2.2.0. That means: either our code generator will run, or Callisto (more or less), as Callisto has a lot of dependencies on EMF 2.2.0.I can imagine there is more people having similar problems, or that they will discover them once they start going for Callisto.

Leave a reply to Jörg Cancel reply