You may be able to do what you want on your own machine given enough knowledge/time. The issue arises when a business based on a Mac Java app becomes redundant when Apple feels like it, or when it will become very hard to make a living selling an app Apple doesn't feel is right for the Store.
Once upon a time there was a company called Microsoft who controlled a popular OS. People who called themselves "hackers" generally didn't like it, since they asserted this power to control the product space as well, changing APIs or bundling software to eliminate competition. Apple has gone beyond Microsoft's wildest dreams, and are on track become comparably widespread - I don't think they get a pass just because the standby light has the same frequency as a human heartbeat.
Oracle, if the Apple's platform is attractive enough. Note that Sun fought Microsoft to effectively take over Java on Windows. I know, MSFT one was not "pure," still that was the result. And one has to wonder if Apple would be sued the same way, since they also have OSX specific bindings.
The current bet is: OSX just became interesting enough to let Oracle maintain Java on it, if they want and are capable.
As far as I understand, the Java applications that were not already using OSX specifics weren't by any measure successful, and the only famous one is that FTP client, which is actually not a "write once works everywhere" Java app, but an OSX app accidentally written in Java. And it's an open source app. Can you please name some examples for "business based on a Mac Java apps?" Especially those that don't use OSX specifics.
They have Java based apps for the Film industry. I have to support them on OS X. They are hideous to use, hideous to install and maintain. I don't know if they use OS X Java specifics, but some how I doubt it.
They were broken by Snow Leopard. Took them months to fix.
My experience, purely as a sysadmin and user, is that cheap and cheerful cross platform apps seem to be much nicer when written for Adobe Air.
I don't understand this question.
Either it's a Java app (no platform specified), or it's a Mac Java app that does use OSX-specific code.
http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit....
http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine
As far as I understand Java license doesn't allow you to make a platform specific Java implementation.
So who's then to bet his business on Mac Java apps? The only potentially "safe" approach is not to depend on Mac specifics. But is there any example of a profitable Java app (which made profit by targeting OSX customers) applying the mentioned "safe" approach?
And AFAIK specs are made for "write once run everywhere."
> it would mean you could never distribute the JRE together with any sort of extra libraries.
You can as long as you are using only what Sun (now Oracle) approves.
> Even the Sun/Oracle runtime ships with non-standard extensions
They make the rules, so what they do can't be used as an argument.
What Microsoft did was extend the language to include an annotations feature (making it source-incompatible), and extending the JVM spec to include new opcodes (which crashed everyone else's JVM). Had they extended Java the conventional way there would not have been a problem.
Yes, my understanding was that the MS implementation did not pass all the compatibility requirements. Adding extra functionality is entirely orthogonal to that point.
IBM's, Azure's and all the J2ME implementations come with proprietary extensions and are blessed by Sun/Oracle. I don't follow your argument.
I don't have anything more to add than to quote you (the keyword is blessed) and also point to my previous posts. As long as you're forced to get the blessing before you introduce the interface to your own platform (or be forced to leave something out because you know it won't be blessed) why should it be in your interest to maintain the technology of others if you have your own technologies and a platform that's attractive even by itself?
- .class files compiled on Apple's JVM work fine on other JVMs
- Source code written for Apple's version of javac will compile fine on other Java compilers.
To my knowledge, Microsoft's JVM violated both of these requirements, which was Sun's bone of contention. (Android's Dalvik is in similar violation, but doesn't pretend to be "Java" - they're being sued based on patents IIRC)
Technically, you don't need to compile "on JVM" but "for JVM." And it doesn't seem to be as you describe for most of the cases (in Sun's words, 98%).
> Microsoft's JVM violated both of these requirements
AFAI understand it was far more subtle: the language (the source form representation) was extended with the features which functioned only on Microsoft's implementation, and only such classes were affected. See
http://download.oracle.com/javase/1.4.2/docs/guide/deploymen...
for a list of issues of switching from Microsoft VM based upon Java 1.1 to Sun's 1.4.2. The list appears to be very unimpressive.
They don't want to have to manage complex dependencies in the app store.
Therefore no optional or deprecated packages.
This move doesn't really support the conspiracy theory of an Apple lockdown strategy, although it certainly doesn't give any confidence that such a strategy is not in the making.
I think App Store is a great solution for most users and developers. But not for the particular minority I define as hackers.
That would be suicidal.
Even if Oracle would provide java, would anybody put so much trust into Oracle, to base the future of his/her software company onto this? Apple again has proven to be unreliable.
I think, this is a serious blow either for java or for Apple itself. Probably we may have to fall back to c, fortran or delphi?
No, but I do know a lot of developers that write Java code that runs on banking infrastructure, that do.
At the last big Weblogic project I worked on, the (many) developers worked on Windows in VMs, on Windows boxes. One advantage being that we could use VM images pre-configured with Eclipse and whatnot set up just right.
Yes, because as we all know, SUN has been a bright example of RELIABILITY in regards to Java et al...
The collapse of SUN, the Swing for the Desktop/JSF/Java FX fiascoes, the Oracle takeover and the recent JCP fights, totally inspire confidence in Java...
gcc is GPL, so they can at best make it difficult to get them free, but clang is racing ahead and it is BSD.
I just hope that my faith in Apple that they won't do something ugly like giving free dev tools when they needed developers and switch to charging for them when they got the app market they wanted.
I think there is now room in the market for a company with good design sense to make Ubuntu machines!