Sun plans Java for iPhone, iPod touch
Posted: March 8, 2008 10:32AM
After receiving access to the iPhone and iPod touch through Apple's SDK, Sun Microsystems says it will release a version of Java for the two Apple devices.
The decision was made just a day after Apple announced its SDK plans and after an investigation which suggested that a Java virtual machine environment would be feasible, according to Sun's Java marketing VP, Eric Klein.
Initially, the software will be a variant of Java Micro Edition, a mobile version of the software most often used for cellphone games as well as some specialized business apps, such as CRM (customer relations management) or ERP (enterprise resource planning) tools. However, the Sun official also said that the software would hopefully be optimized for the iPhone and allow access to features specific to Apple's mobile platform.
"We're going to work to make sure that the [virtual machine] offers the Java applications as much access to the native functionality of the iPhone as possible," Klein said.
The executive also said his company wouldn't rule out more advanced developments. JavaFX, a second mobile version of Java built partly to substitute for Flash and other web animations, was possible. Over time, the company could also write a version of Java Standard Edition if its initial experience proves worthwhile.
While a release of Java for the iPhone and iPod touch would not appear until sometime after Apple's June launch of its version 2.0 firmware and the App Store needed to download the program, the announcement represents an end-run around Apple's own resistance to implementing Java on its own. Apple chief executive Steve Jobs said no Java was coming from his own company as late as this week and last year described a full Java engine as a burden to the phone that was unlikely to be used by developers.
solipsism	Posts: 25,726member
March 8, 2008 10:51AM
I'd love for someone to explain to me how this can work. I am under the impression that only one 3rd-party app can run on mobile OS X at once.
quinney	Posts: 2,528member
hok posted on another forum that this might be prohibited by the
SDK user agreement:
Apple iPhone SDK Agreement: ?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)? 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.?
nvidia2008	Posts: 9,262member
Realising how big the iPhone and iPod touch is going to be in terms of a development platform, Sun and probably Adobe (god bless them) are shitting bricks right now seeing that all their efforts in mobile land may be threatened by a new force coming to the fore, namely OS X "Mobile" (or whatever one may call it)..
On the desktop and laptop, I still believe Flash is good and important. Mobile, not sure about that.
As for Java, will it please frickin' die already !!! DIE!!! Bloated piece of garbage. Always has been.
As for Java games and other mobile stuff, even on my Sony Ericsson, I have no idea what the big deal is with Java on the mobile. Not saying it is entirely Sun's fault, however, it has always been slow and unimpressive.
Great stuff for the antitrust peoples though, the Apple "Matrix" is being built stronger every day. Like a splinter in your Internetz*.
*(http://www.imdb.com/title/tt0133093/quotes)
Originally Posted by nvidia2008
Realising how big the iPhone and iPod touch is going to be in terms of a development platform, Sun and probably Adobe (god bless them) are shitting bricks right now seeing that all their efforts in mobile land may see a new force coming to the fore, namely OS X "Mobile" (or whatever one may call it)..
No kidding. It could even result in more development for Mac if developers use Xcode tools
for the first time to make iPhone apps and really like it.
Originally Posted by solipsism
The mechanics aside, Sun is trying to reassure people that Java apps of some sort from websites, etc. will be able to run on the iPhone/iPod Touch.
However, the implementation will probably be clunky, by any stretch of the imagination. Given various legal loopholes they have to jump through.
Sun "Java Player" for iPhone. Coming soon to lag up your iPhone.
Sun has a massive investment in mobile Java gaming. Probably in the consumer space their real cash/ mindshare cow.
Originally Posted by quinney
No kidding. It could even result in more development for Mac if developers use Xcode tools for the first time to make iPhone apps and really like it.
That's the brilliance of the iPhone and iPhone SDK. It's specifically intended, in a large part, to bring even more people to the Mac and develop for the Mac.
That said, Apple is hedging its bets by spreading to two major platforms. The "conventional" OS X, and the "ultralight" OS X that will lead to the "MacBook Touch" or something like that by the end of the year maybe...
yebot	Posts: 10member
iPhone SDK = 2 steps forward
Java = 2 steps back
March 8, 2008 12:00PM
Xcode can take Java code "out of the box" so why can't Java apps just be imported into it with only a few changes to make it run natively on OS X.
(I'm not a developer, so I apologize if I'm ignorant of the inner workings)
suhail	Posts: 192member
Did anyone realize that the iPhone SDK runs only on Intel Macs??
abster2core	Posts: 2,501member
Originally Posted by suhail
Yes. We read the feeds and it was also on the video. It is also quite clear on the Developer Connection page
Better question: Why should Ford build a transmission today to use in an Edsel or a Cadillac?
By the way, the Intel Macs? They must be running Leopard.
P.S. For Apple to code the iPhone SDK to run on Vista, wouldn't they need the source code for Vista?
The naysayers quickly moved past the lack of a PPC port to complain that there is no Win32 port. And have predicted that iPhone apps will be few and far between because of this.
jeffdm	Posts: 12,951member
March 8, 2008 1:23PM
Apple iPhone SDK Agreement: "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)… 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."
That could be limiting. I wonder if that would prevent the building of useful third party web browsers. They use, even need, plug-ins and at least Firefox has it's own interpretive API for extensions.
The lack of PPC is a bit odd, though I think is probably reasonable, the newest PPC development machine owned by a developer is probably getting close to retirement. I see no reason to expect a W32 port. If anyone really cares, then they'll make their own.
I can expect that a very disproportionate number of iPhone users are Mac users, so I don't see a problem there either. Heck, the cost of certifying an app for a competing phone is about that of a new Mac.
Whatever! Some people like myself purchase a computer to be able to use for over 3 years, especially one that is being trumpeted as "lasts longer than a PC". Using the latest OS is not a problem, but having to buy new hardware is. Especially when $6,000+ were already spent on a Powermac G5 and a Powerbook G4.
Abster2core thank you for your bigoted response.
bjojade	Posts: 91member
The PPC platform is quickly dying. It's much cheaper to just develop on one platform than to develop on both. If your software is to run the same on both, then you can only use features available on both. For something like this, Apple calculated that most serious developers for the mac will already have an intel mac, so going through the effort to make a PPC version wasn't worth it.
As far as the W32 support, it makes sense NOT to do that. People that have never touched a mac don't understand the way macs work. If they just opened up a Windows programming option, you're going to have developers that never ever used a mac developing for this thing. They won't understand how things are supposed to work.w
booga	Posts: 1,081member
This attitude is completely disjoint from reality. A modern Java VM is an extremely fast environment based on a very advanced set of libraries that handle everything from massive parallelism to hardware abstraction very well. It's probably faster than the Objective-C runtime on which the MacOS X is based. Objective-C has the worst of both worlds-- static compilation with dynamic linking. Since Java is dynamically compiled, it has runtime information available to the optimizer which means it can optimize the wazoo out of the code and cache the optimized version. Objective-C's extreme bent towards dynamicism means almost nothing can be inlined and everything turns into these huge stack calls in assembler. It was a great choice for the late 80's, but the state of the art has moved way beyond it by now.
The problem with a modern JDK's perceived performance is not so much its speed, but its size. Since they didn't break it down into little pieces that could be loaded individually, it takes potentially dozens of MB just to start executing line 1, so it takes even the tiniest applet many seconds to get going while flash starts almost immediately. Sun is fixing that in JDK6u10, due out in a few months. Java applets will start just as fast as Flash. And since Java is a very deep, well-architected system (unlike Flash) it will make a very compelling case for developers.
It's no coincidence that Java is everywhere from your Blu-Ray player to your set-top box to the servers running a website. The only place Java HASN'T gained traction is in front of users eyes. Personally I think that's because Swing made some bad choices and Sun hasn't prioritized the desktop.
Besides, the chipset Apple chose for the iPhone/Touch has some native support for Java. It's likely that Java will run faster on it than anything else you've tried.
Booga, that was very informative. Wow!
Do you think current Java apps need to be "recompiled" to take advantage of the speed boost?
Whatever? You can still use your G5 and G4 for a lot of other things and most likely for a many years to come.
Currently, the competition is proclaiming superiority over the iPhone and that their newer iterations to come will make the iPhone seem like an ancient rotary. As such, now is not the time for Apple build, code or structure an SDK, just so one can play or create applications on older systems and hardware. The iPhone with its special Leopard OS demands the latest in technology to maintain its superiority. Anything else would be a waste of time and thus money.
And besides, how did my response exude any form of chauvinism, partisanism, sectarianism; racism, sexism, homophobia, dogmatism or jingoism?
melgross	Posts: 33,144member
Don't overdo it.
I'd rather have the interest of Sun, than have them ignore it. They are well aware of the limitations of both the phone, and what they will be allowed to do. If, after looking over the SDK, they feel this is possible, and considering that Apple and Sun are close, I don't see this as being all that farfetched.
I always would rather have the option, than not have something at all. If performance is bad, then it won't be used, but if it is good, then it will be used. It's really pretty simple.