The past couple of days have seen a lot of interest and speculation as regards the recently announced iPhone SDK and about Java finally getting on the iPhone. The iPhone SDK provides developers with a rich set of Application Programming Interfaces (APIs) and tools to create innovative applications for iPhone and iPod touch. With the iPhone SDK, third party developers will be able to build native applications for the iPhone with a rich set of APIs, including programming interfaces for Core OS, Core Services, Media and Cocoa Touch technologies.
Infoworld has since reportd that "Sun Microsystems is said to be developing a Java Virtual Machine (JVM) for Apple’s iPhone and plans to release the JVM some time after June, enabling Java applications to run on the popular mobile device.The JVM is to be based on the Java Micro Edition (ME) version of Java, said Eric Klein, vice president of Java marketing at Sun, on Friday afternoon. Apple had not shown interest in enabling Java to run on the iPhone, but Sun plans to step in and do the job itself after having pondered Thursday’s release of an SDK for the iPhone by Apple." "Now, the iPhone is open" as a target platform, Klein said. The free JVM would be made available via Apple’s AppStore marketplace for third-party applications. By bringing the JVM to the iPhone, Java capabilities in area such as SSL security could be brought to Apple’s platform, said analyst Chris Silva of Forrester Research. I think going forward, with the SDK, it takes out of Apple’s control which applications are ‘right’ for the iPhone," Silva said.
However there have been questions raised in the blogosphere particularly on this iPhone dev agreement clause : An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s).
Some have commented that if Sun makes the JVM part of the application download, then no interpreted code needs to be additionally downloaded and interpreted by the application and so Sun can comply with the agreement. Others believe that Sun will need to make the JVM on iPhone scream. The iPhone and its MID ilk could be what client side Java has needed all along. There will need to be some compelling apps right away for this Java-iPhone mashup to gain traction. That is certainly doable, give the global stable of Java developers.
The iPhone SDK and Agreement can be found at the iPhone DevCenter while the iPhone Developer Program provides a complete and integrated process for developing, debugging, and distributing your free, commercial, or in-house applications for iPhone and iPod touch. Complete with development resources, real-world testing on iPhone, and distribution on the App Store, you have everything you need to go from code to customer.
The iPhone has a tiny 0.14% market share in the mobile world. But Apple CEO Steve Jobs claims that 71% of web browsing on smart phones occurs on iPhones.
Only time will tell whether Java in the form of JavaME and maybe JavaFx do make it to the iPhone and the kind of impact it might have.