Posted by editor
on July 30, 2007 at 7:50 AM PDT
How retro is your Java app? Also:
Java Today: JRuby considers Java 5, measuring airplanes with NetBeans, and OpenJDK Ambassador interviewed
Featured Podcast: Mauricio Leal on Mobility and the Mobile and Embedded Community
Weblogs: Swing frameworks at OSCON, Java "Dock" improved, and W3C universal validator
Spotlight: OpenJFX's Casual
Forum Posts: Signed midlets and wrong clocks, TopLink vs. Hibernate for GlassFish, and why is NetBeans licensed under CDDL and not GPL?
How retro is your Java app?
Remember Java 5? Or are you looking forward to it? It's striking how much Java developers differ in how quickly or slowly they start using new versions of the language and its core libraries. While some people are bitterly complaining about Java 6's non-availability on the Mac, other major projects are targeting Java 5, the previous major version of the Java platform. For example, the Glossitope project recently announced it is moving from Java 6 to Java 5, so they'll be compatible with more end-user systems, the Mac situation being a major factor in that decision.
And some projects are on even older versions, wondering if now is the time to move ahead to Java 5, with Java 6 not even a consideration, even though it's the current version.
InfoQ is tracking an interesting debate among participants in the jruby-dev list in its article JRuby: Java5 or not? . Noting that JRuby is currently Java 1.4-based, which appeals to the upgrade cycle of large companies, the article points out that "there are good arguments for breaking compatibility with 1.4 and using Java 5 features, besides allowing the JRuby team to use the new language features like Annotations or Enums. One would be the advanced concurrency libraries which were added to Java 5. Right now, a backport of the
java.util.concurrent libraries is shipped with JRuby, which means increased download size."
And if you think Java 1.4 is old, InfoQ also points out that "many projects, like Eclipse, opted to staying 1.4 compatible as long as possible, with basic technologies and libraries like OSGi or SWT even staying 1.1 or 1.2 compatible."
What works for you? What version's API do you target, and what do you stand to gain or lose with that choice? Is it different for server apps where you can control the runtime, versus libraries and end-user apps? And what about the option of coding to the older API's while potentially picking up VM improvements from newer versions of Java?
Also in Java Today ,
The latest in a series of SDN interviews is Meet Tom Marble, OpenJDK Ambassador for Sun Microsystems . In a conversation with Janice J. Heiss, he talks about the OpenJDK community and the projects it has spawned, including the Kitchen Sink Language project, RedHat's IcedTea project to replace JDK encumbrances with GNU Classpath equivalents, and a proposed, lightweight framebuffer-based peer implementation for AWT called fbtoolkit . He also discusses copyright concerns for open-source, benchmarking, and his interest in Tae Kwon Do.
In the NetBeans community article Welcome on Board NetBeans Air! , Tim Boudreau met the platform specialist Tom Wheeler to chat about Tom's latest "little" project: He ports applications that analyze mass properties of aircraft for Boeing. His Mass Toolkit project is expected to ultimately replace a native application running on Cray supercomputer, dispelling any concerns about Java performance.
The latest Java Mobility Podcast is Java Mobility Podcast 13: Mauricio Leal on Mobility and the Mobile and Embedded Community . In it,
Mauricio Leal, Mobility Application Developer and Advocate, discusses the challenges and issues for Developers and Carriers, shares his insight on ever emerging role of mobile devices, and its impact to help bridge the digital divide in developing countries.
ChetÂ Haase has a report from his OSCON 2007 presentation in today's Weblogs .
Swing Frameworks: Catch the Wave . Goofing on the conference's name, he asks, ""Open Source Convention". Isn't that a bit like "Anarchy Government"? Or "Military Intelligence"? Or "Personable Programmer"?"
Sticking with the Swing theme, ElieÂ Levy offers his
Java Dock with a better bouncing effect :
"In my last blog I explained how I built a Dock bar using the Timing Framework and the Glass pane. This one is a continuation, where I explain briefly a slight improvement on the bouncing effect."
Finally, FelipeÂ Gaucho writes about
Java Unicorn - the W3C universal validator , which he calls
"an amazing Open Source project to verify the Web Quality and Web Standards Conformance of your web projects."
This week's Spotlight is on the OpenJFX project's Casual , a JavaFX demo of an InstantMessaging (IM) client. It is meant to demonstrate the flexibility of the JavaFX Script language and its framework APIs. Available via Web Start , Casual provides the ability to log in to Jabber or Google Talk accounts and supports some basic IM functionality, including smilies, image and link embedding, and custom dialogs for new chat notification. Future releases are to include support for more IM protocols, menus and preferences, and a full-fledged buddy window.
In today's Forums ,
Eric Donovan warns of an interesting real-world gotcha in
Re: Digital Signature for MIDlet? - wrong date problem .
"Just thought I'd mention an annoyance that we come up against a lot when deploying digitally signed Java ME apps. Even when the handset has the correct root certificate installed, if the user has not bothered to set the correct date on the handset since the last time they took the battery out then the installation will fail. A typical signing certificate is valid from when you purchase it for one or more years ahead. The default date for mobiles when you first put the battery in is always in the past in my experience."
discusses query syntax for JPA in
Re: Why is TopLink the default provider in GlassFish and not Hibernate?
"Another interesting aspect of the differences is that when using hibernate I can use the left join fetch queries extensively (left join fetch o.subobject1 so1 left join fetch so1.subobject2 so2 left join fetch so2.subobject3 (etc.)). As far as I can tell this goes against the Java EE Spec and is thus not allowed in Toplink (which makes your code unportable). However I found it very convenient. On the other side of it though, I think it is less performant to do it this way than to let toplink cache the objects and populate them separately. It seems that running the same cache loading scheme was faster in toplink than with hibernate."
b09d4n would like to know
Why Netbeans is not licenced under GPL .
"Now OpenJDK is licensed under three licenses (commercial, CDDL and GPL). So is Sun Solaris. Why Netbeans is not licensed under GPL (just CDDL lincence...)?"
Current and upcoming Java
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed . Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the
How retro is your Java app?