Sun Announces Intent to Create JVM for iPhone

One of the big benefits of Java software is that it facilitates the ability to deliver the same content and services across multiple Java technology-enabled devices (mobile phones, PCs, and set-top boxs).

The Sun Java team has announced that they plan to use the to use the new iPhone SDK to create a JVM for the iPhone and iPod Touch.  Here's a video featuring Eric Klein, vice president of Java marketing discussing the news:


This would allow the 10s of thousands of existing Java-based mobile applications to run on iPhone and iPod Touch. And also for new Java applications to be created specifically for the iPhone, which could leverage the unique capabilities of the device.

Developers would also be able to use their existing Java tools, including the productivity-enhancing features of NetBeans and the NetBeans Mobility Pack, to easily create, test, debug and deploy applications that would then run on the iPhone & iPod Touch - in addition to literally billions of other devices.

After Sun announced our intent to create a JVM for iPhone and iPod Touch, there were questions raised in some blogs & forum posts about whether Apple's iPhone license agreement allows us to deploy the JVM.

"Our announcement was based on our excitement to build a JVM for the iPhone and the iPod Touch, as well as our assessment of Apple's publicly available information on the SDK and related business terms. If there are clauses in the iPhone beta SDK license agreement that potentially limit third party application distribution, then these are items that we want to have a positive discussion with Apple about. Sun and Apple have an ongoing relationship around Java SE on Mac OS X and we look forward to further discussions with Apple about a JVM for iPhone and iPod Touch. Sun definitely plans to deliver a JVM for iPhone and iPod Touch if at all possible!" said Eric Klein, vice president of Java marketing at Sun.

We'll be talking more about our plans, as well as our overall Java strategy, at the 2008 JavaOne conference May6-9 in San Francisco.

Comments:

What community involvement is foreseen for this development? Is it going to be a JCP activity?

Steve

Posted by Stephen Winnall on March 10, 2008 at 10:46 PM PDT #

How do you plan on circumventing the fact that the iPhone SDK terms explicitly state that:

“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 builtin interpreter(s)”

Posted by Chris on March 13, 2008 at 02:22 AM PDT #

This is wonderful news! Now we have the opportunity to see hundreds (if not thousands) of applications for the iPhone and Touch which behave nothing like normal iPhone and Touch applications. I can hardly wait to see how the lack of "Touch OS" functionality in the JVM will translate to a UI like the iPhone that has no physical keyboard. This may actually be more fun than on-screen typing with a WiiMote (except much slower to load)...

Posted by John on March 13, 2008 at 03:07 AM PDT #

How the tables have turned!
In the Mac OS 8, Mac OS 9, and Mac OS X Apple did all the porting of Java to their platform at their expense.

Now Java has lost a lot of momentum and the iPhone is the new hot thing. Sun is willing and excited about porting Java to Apple's platform at their expense.

Posted by Marcos on March 13, 2008 at 03:27 AM PDT #

I think that what Sun realizes is that SDK licenses don't decide what gets sold at the App Store. Apple decides. The license is just a piece of paper written by lawyers.

Look at Apple's track record following their own human interface guidelines, and you'll see that they don't pay that much attention to rules they've written.

Posted by Richard on March 13, 2008 at 06:45 AM PDT #

I have extensive experience developing for both Mac OS X and Java, and I can tell you that I will cringe if Java is allowed to run on the iPhone. While excellent for server apps, Java is absolutely horrid for User Interface. And that's what the iPhone's all about.

Posted by Eric Brunstad on March 13, 2008 at 10:55 AM PDT #

“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 builtin interpreter(s)”

Is that clause enforceable? Does bytecode, like java class files or p-codes count as interpreted code? What if my app has to lex, parse and “interpret” a user provided file? Or user provided input? What if I write a calculator?

Pretty much every program has, at some point, a loop waiting for input, some state variables and some sort of case statement. That's really all it takes to write a basic interpreter. It's not that I'm defining interpreter broadly, it's that it's such a fundamental concept in computer science.

Of course, if Apple really puts up a stink and won't negotiate, Sun can just deliver a compiler for Java, like gcj, that produces machine code targeting iPhone.

Posted by ben on March 16, 2008 at 10:36 AM PDT #

"Is that clause enforceable?'

Apple is the enforcer here, it's their platform, they can enforce anything they wish. If they don't want java on the phone, it's not going on the phone.

Also, I'm sure they're using "interpreted code" in the compiled vs. interpreted definition. Java, needing the JVM as it's interpreter counts as interpreted code.

"It's not that I'm defining interpreter broadly..."

Yes you are.

"Of course, if Apple really puts up a stink and won't negotiate, Sun can just deliver a compiler for Java, like gcj, that produces machine code targeting iPhone."

Again, if Apple allows it. You can't put any old code on the iPhone, this is a "gated community" type of platform. Also, the compiler for iphone? Really? Wouldn't that require lots of changes in existing code to run with the iPhone widgets and interface? Why wouldn't I just develop my app with the SDK?

Posted by Chris on March 16, 2008 at 10:30 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

Oracle Global Communications

Feature News


Stay Connected

Twitter

Search

Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today