Update 2010-11-12: “Oracle and Apple Announce OpenJDK Project for Mac OS X”. This is how it should have been done all along, before announcing the deprecation. Then either Apple didn’t think this through or it used it as a negotiation tactic.
Apple is currently warning developers that Java might not be bundled with Mac OS X Lion. Jobs later clarified:
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.Observations:
- Apple obviously and understandably does not want to handle Java, any more. In the past, it has been slow to support the newest version, so this change could be for the better.
- Having Java on the Mac is important, because many developers need it. Those developers mainly work on server-side applications, so their work is not directly relevant for Apple. But they are still an influential group whose support Apple won’t want to lose. Java is also crucial for education. I don’t know of any software-related degree where Java or the JVM is not needed at some point.
- Oracle is very profit-driven and server-oriented, so I’m not sure if they see a business case for Java on Mac OS X.
- There is an open source Java for the Mac, but it runs under X-Windows, thus Swing is not well integrated (but: Eclipse and SWT run on it, too). There is a petition for Apple to hand over its custom code to the open source community. I think, we’d only need a part of it. While the Swing Aqua look and feel was nice, Nimbus (which appeared in Java SE 6u10) is good enough for me. Mimicking Apple’s GUI will always be a moving target, anyway. Maybe Apple thought about the difficulties of implementing the new look of Mac OS X Lion in Swing and considered it too expensive.
- The main problem is that neither Apple nor Oracle have really communicated what all of this means. They should have consulted before Apple dropped this kind of a bomb. Now people are free to speculate and some blame Apple, others blame Oracle.
- “shoes[1].drop();” is a good in-depth analysis by Chris Adamson. It makes the point that Desktop Java is currently problematic and mainly used to support server-side Java development.
- Dear Oracle, Get a Clue
- Mind Bug: Java for Mac, not Oracle's business
- Good news, Apple deprecated Java
- Java on Mac OSX: The Ball is in Oracle's Court
- Apple drops Java and more: so what?
2 comments:
"Maybe Apple thought about the difficulties of implementing the new look of Mac OS X Lion in Swing and considered it too expensive"
Actually no, I am pretty sure that is not it. AFAIK the LnF on Mac OS X is not a reimplementation of the UI, but instead uses the native one.
Indeed that was the main reason Apple made their own JVM to begin with. They wouldn't allow Sun - or Mozilla (for Firefox) or anyone else - to draw an UI that looks like the Mac OS one. Even if it is running on Mac OS X. And it is exactly for the reason you give: It would quickly become problematic to maintain it between different OS releases with slightly different looks.
And you would also end up in situations like with Java on Windows. Where the standard dialogs almost look like the native one. But does not work like them (especially the file ones).
Aqua is a Swing Look and Feel and thus not native. But the reason for Apple creating its own JVM is exactly as you stated: If it was custom-drawn, Apple wanted to make sure that it looked right.
Post a Comment