OSGi - Perfect for Java on the iPhone Steve
So obviously Steve Jobs’ comments about 3rd party apps and Java on the iPhone have started a storm of blog entries and discussions about Java’s deployment footprint and the feasability of deploying Java apps to mobile devices. For that one guy out there who hasn’t seen the quote, here is the meat of it:
“Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.‖ Steve Jobs
As an OSGi cheerleader, I feel like its my duty to point out that this is exactly the type of thing that the OSGi specification and the community around it is trying to address. I am not going to give an OSGi 101 class here (yet), but most people know that OSGi is a very organic way to address dynamic components and deployment management. Of course there are many other aspects to it as well, but the runtime management of dependencies is where most people get their “A-ha!” moment.
Right now, I am deploying my own application code (Swing apps, embedded apps, J2EE middleware) in small (dynamic) chunks using OSGi, but what about the Java runtime? I think it would do a lot for the future of Java if we had the opportunity to deploy the actual Java runtime in the same manner, using only what is needed. In this way, you can imagine J2ME, J2SE and J2EE being pre-configured OSGi systems, but also be able to remove unnecessary parts if you don’t need them, like in an embedded application for instance. Obviously I am totally biased, but I think an OSGi based JVM would make a lot of sense for the future of Java. Oh, and don’t even get me started on JSR-277
One more thing, I am running an OSGi based Java application with Wi-Fi, VOIP, IM, GPS, and Bluetooth on a Gumstix platform that is probably 1/4 the size of the iPhone. I am not sure I really buy the heavyweight ball and chain crap to begin with ![]()
January 22nd, 2007 at 8:37 am
Hi,
which JRE (or JDK) are you running in the gumstix device? Is it a full JSE or a JME?
Congrats for your blog, by the way.
January 22nd, 2007 at 1:51 pm
Hi Diego,
I am mostly using Jam on the Gumstix, especially for just playing around since its easiest to get going. I think for anything serious I would like to try out J9 but I don’t know anything about how to get it licensed.
January 24th, 2007 at 10:17 am
This is happening in Apache Harmony project where modules are defined using OSGi metadata. There are some documents describing the way Harmony is going to have a modular architecture.
April 23rd, 2008 at 9:25 pm
Hi Chris,
well, I am running Concierge on the iPhone (and I am sure that Felix would run as well). But no support for GUIs yet.
Cheers,
Jan.
May 2nd, 2008 at 12:41 am
Test comment