Archive for January, 2007
Beryl fix for running Java Swing apps
Posted by Chris Custine in Java on January 22nd, 2007
I am a big fan of the Beryl window manager for Linux and normally I use it on my Laptop which runs Fedora Core 6. Beryl has a serious problem running Swing based GUIs because of a compatibility issue with some awt libraries in the JRE. There is a bug open here that talks about it in detail and it appears as if Sun may not be too happy creating special code for each window manager that doesn’t do re-parenting, so they have currently only fixed it for Compiz. In the comments for the bug, someone posted a link to a quick how-to on the Beryl wiki that extends the patch Sun has implemented for Compiz on which Beryl is based. Anyway, I know a lot of Java folks switch back and forth from Beryl to Metacity so with a little work as outlined in this wiki page you should be in able to work in Beryl non-stop.
Update: This how to only works for JDK 1.6 AFAIK….
OSGi – Perfect for Java on the iPhone Steve
Posted by Chris Custine in Java, OSGi on January 21st, 2007
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


Recent Comments