Could eRCP become an OSGi standard?
The embedded Rich Client Platform is a cut-down set of widgets based on SWT (called eSWT) and the higher-level widges based on JFace (called eJFace). Developers who know how to use SWT and JFace will find the APIs almost equivalent for their embedded counterparts; and since both run on top of Equinox, it's possible to develop bundles that run against both RCP and eRCP.
Several handset developers are already behind eRCP. The most recent announcement was Sprint's Titan environment which uses eRCP atop a J2ME Foundation Profile VM, but Nokia supports eRCP quite heavily. It's a separate direction from Android, but OSGi bundles can also be run on Android.
... it seems like a good idea. However, I'm still a bit uneasy with where the control lies... does this specification imply that the OSGi community gets to dictate what is in eRCP from now on? What impact does this have on the RCP stack controlled by the Eclipse community? Does the eRCP project in Eclipse become the reference implementation, similar to how Equinox is the reference implementation for OSGi?
Regardless of whether the proposal goes further forward with OSGi standardization, it's clear that there's a lot of interest in the mobile handset community about having a standard application framework that can evolve over time, but without being hampered by the JCP.
Do you think formalising the eRCP as an OSGi standard will help or hinder the platform?
If eRCP became part of the standard then why shouldn't RCP? That will never happen.
My personal view is that OSGi shouldn't even consider it. People are free to build what they want on top of OSGi and eRCP will blinker people's technical freedom of choice. eRCP maybe a de-facto standard, but that's as far as it should go.
As Christopher points out, OSGi is a lightweight specification... but that's only really the core. Also under OSGi Aliance there are the Enterprise, Vehicle and Mobile expert groups, and the total output from all these groups (especially enterprise) doesn't look very lightweight at all. That is, if you printed it all out and dropped it on your foot, you would probably break some bones. The important thing is that all these extra parts are optional and specific to a particular use case. So eRCP could work in the same way.
Incidentally, a very interesting consequence of standardising eRCP would be the creation of an OSGi specification for the Eclipse Extension Registry. I would like that to happen because I think that some significant enhancements could be made through the process of turning it into a specification.
Keith Adams Dec 06, 2013