mmc - slightly updated repost from the architecture discussion on eclipse rcp integration...
----
We should work to integrate with eclipse's rich client platform certainly. I would be doing this now myself if I built apps with Eclipse for a living. Currently, however, I and my customers prefer Swing solutions at this point, and Spring Rich adds a lot of value there.
I think what we've focused on in spring rich thus far is not reinvention, but innovation, and innovation that builds on standard Swing, not JFace/AWT. Swing needs simplification through appropriate, higher-level OO abstractions, and needs it bad. And many people still view Swing as "the" widget toolkit to build platform independent desktop apps in Java.
To date we've done a lot of cool things integrating Spring's IoC container into a Swing-app environment. The result? It's a lot easier to write a clean, concisely coded (and well-layered) Swing app, where it was quite easy to write a ugly, lengthy coded one before.
I should point out a good many of the issues we're addressing in rich client, for example: data validation, UI-to-domain model binding, and command/request workflow aren't really addressed by Eclipse's base RCP platform. There is a definite "enterprise/j2ee app" focus in spring rich client.
With all this said I definitely would LOVE to see Eclipse RCP integration on top of Spring, leveraging existing complimentary libraries of spring rich (such as the data binding stuff). You're right, we could likely never compete directly with Eclipse's view/perspective/docking capabilities (nor would we to, that's not our focus. Note, however, we would want to integrate best-of-breed Swing-based docking frameworks with our project [just like as we would want to provide eclipse RCP integration].)
A major point is I wouldn't want to force spring rich users to HAVE to use eclipse's platform: in many cases it's just not necessary (particularly when a team already knows Swing, cares about platform independence, and doesn't want the complexity of the eclipse plugin model - yet another thing to configure...)
Keith
Keith Donald
Core Spring Development Team