An Open-Source Java Port To iPhone? 148
An anonymous reader writes "With the first anniversary of open-source Java coming up November 13, a Sun official believes the project could bear a fruit much sought-after in the Java community: a Java port to the Apple iPhone. Apple has not released a version of Java capable of running on the popular device. But Sun's Terrence Barr, technical evangelist for the Java mobile and embedded community, believes Apple's plans to release an SDK for iPhone in early 2008 may result in the open-source phoneME version of Java ME winding up on iPhone."
Apple & Java don't play nice anymore (Score:5, Insightful)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Also it looks like that timeline is just speculation based on past behaviour not actual data from apple despite the title.
Re: (Score:3, Insightful)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
You must be new here.
Re: (Score:1)
An anonymous reader writes "With the first anniversary of open-source Java coming up November 13, a Sun official believes the project could bear a fruit much sought-after in the Java community: a Java port to the Apple iPhone. Apple has not released a version of Java capable of running on the popular device. But Sun's Terrence Barr, technical evangelist for the Java mobile and embedded community, believes Apple's plans to release an SDK for iPhone in early 2008 may result in the open-source phoneME version of Java ME winding up on iPhone."
He sounds like pro-liberal-religious official...
Apple can't even commit to Java 1.6 for OS X -- I think you're being a wee bit optimistic.
And you sound like fundamentalist religious counselor. "stick to java 1.4 because it came with OS X" :)....nahh i'm serious. it's about friggin time when apple buys Sun.
just kidin'
Re: (Score:2)
How much of this is suns fault and how much of it is apples fault I have no idea.
Re: (Score:2)
Re: (Score:2)
Subpixel rendering in AWT/Swing applications. java.io.Console. The annotation processing API. I'm sure there are others, but those are the only ones I've made use of.
Re: (Score:2)
I mean the package javax.annotation.processing, used to produce compile-time annotation processor plugins.
Having actually used java.io.Console, it's no better than System.in/System.out which have existed forever.
Except that it provides a crucial capability that is not possible with System.in and System.out: reading of passwords with echo disabled. Seriously, this capability alone is enough to persuade those o
Ready for business. (Score:2, Insightful)
Speaking of being ready for business, the rhetoric across just about all media is that the Mac is a great computer for home use but isn't ready for business
Re: (Score:1)
So what happened to the Apple Java luvin'? (Score:5, Interesting)
A few years ago Apple was all over Java.
Apple rewrote their WebObject platform into Java. They built bindings into MacOS 10.3 making Java apps 'native', heck spent serious resources Aqua-fying Java to look native.
So now there are a coupla Mac apps that are actually Java.
But the bindings have been depreciated. And Apple is getting slower & slower about releasing Java updates. All the while additional toolsets are getting added, receiving support, etc.
Then there's the iPhone, which Apple has made clear they've little interest in adding Java to.
So does Apple perceive Java as moving into the also-ran category? Something that isn't gonna pay off development & support effort as a major player on the desktop? What makes it inappropriate for the iPhone?
Are there any Java-on-Mac developers willing to share their insights? Folks who actually use it, pay attention to it on an ongoing basis, etc.?
Re:So what happened to the Apple Java luvin'? (Score:5, Interesting)
I believe that's their perception, yes. I believe it's wrong too.
Are there any Java-on-Mac developers willing to share their insights? Folks who actually use it, pay attention to it on an ongoing basis, etc.?
Sort of - allow me to pontificate for a moment please.
I develop a lot of Java code, but it typically gets deployed on other platforms other than the Mac. It's a mix of desktop and server-side, and it's for internal apps only.
I would like to develop this using my Mac - it's not that I will unleash a mass of Mac Java apps on the world (though I have unleashed one), it's more that it allows me to pick the Mac as my daily working tool. I believe Apple have underestimated the demand for Macs amongst the more technical crowd, and I am hopeful of an OpenJDK port to OS X to take this worry away.
To summarise: perhaps Apple are right about desktop apps in Java on their platform. I still believe they're wrong in the general case though, and that they should still either keep up with the JDK or just help with the port to the OpenJDK and let others keep up for them.
Cheers,
Ian
Tit for tat (Score:4, Interesting)
So essentially because Sun has decided Apple is not worth the resources to support OpenOffice on the Mac, Apple has decided Sun is not worth the resources to support Java on the Mac.
Re: (Score:1)
Thanks - yours is exactly the sort of viewpoint I was hoping to hear from - real life tool users, not armchair zealots.
So in your opinion an up-to-date JDK is what you require, and could live without OS hooks, native-GUI, etc.?
Do you think the special Java bindings, native-GUI, etc. are worth the effort on Apple's part, or do you believe those would continue to be under-utilized?
Re: (Score:3, Interesting)
No problem - hope you've got email notification on because I switched the machine of after making that post and missed your reply.
So in your opinion an up-to-date JDK is what you require, and could live without OS hooks, native-GUI, etc.?
Yes - that's exactly it. There will be some need for customisation, specifically the menu bar code on client-side, but that's already done and wor
Re: (Score:1)
Exactly. Half, if not more, of the geeks in our local Java user group and design patterns study group carry around Mac laptops. I personally ported some native stuff to the Mac, just so I wouldn't have to develop on the company issued Dell laptop (piece of crap).
Cheers, Jason Osgood / Seattle WA
Re: (Score:2)
Re: (Score:2)
Apple has done quite a bit to improve their development environment in Leopard, they aren't scorning third party developers at all on the Mac.
Re: (Score:2)
Re: (Score:2)
Nor should they. I don't buy/use software based on what it is written in. I pick it based on how it does at the job in question. Most of the software I w
Re: (Score:2)
Cyberduck [cyberduck.ch] is one I use regularly, a (s)ftp client, and it is indistinguishable from a Cocoa-based application. Indeed Cyberduck is a showcase [cyberduck.ch] of MacOS technologies: Spotlight, Bonjour, Keychain, Applescript, iDisk, drag-'n-drop, etc.
I've always assumed there are vertical applications able to operate on the Mac because of Apple's Java support, much like other *nix-based code can be migrated without major (non-GUI) trauma.
Re: (Score:1)
1st. There are really few desktop Java applications. Investments to port and support JDK/JRE/bindings are way too high.
2nd. Java on iPhone. Java on mobile phones happened not because it was some advantage of Java over other technologies. It happened because industry didn't managed to come up with standard for interfaces. Many efforts defaulted. And Sun had seen that as market opportunity.
3rd.
Absolutely. And who doesn't?
In last f
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
Are there any Java-on-Mac developers willing to share their insights? Folks who actually use it, pay attention to it on an ongoing basis, etc.?
I'm a professional Java-head, and I use a Mac most of the time. But if this shit keeps up, I might have to switch to Linux for my work (certainly not Windows, and probably not Solaris either).
The stuff I write is mainly server code that gets deployed on *nix boxes. (Which I think is Java's real strength - desktop Java apps and web applets seemed like a good idea at one point, but they're a lost cause.) I don't deal with the Java GUI libraries much, and I'm not particularly interested in the iPhone. I just
Is Apple interested in Java? (Score:5, Interesting)
FreeBSD Java 6 on Leopard (Score:3, Informative)
http://www.theserverside.com/blogs/thread.tss?thread_id=47500 [theserverside.com]
Re: (Score:1, Interesting)
Why even bother with them? They're obviously not interested and anyway you'd have to work around Leopard's extensive catalog of bugs to get Java running.
Re: (Score:1)
Re: (Score:2)
[Disclaimer: I haven't owned a Mac since the 68k days, my casual interest is solely as a developer wishing to deploy to 1.6 for education.]
The task is theoretically doable for a Cocoa developer but a non-trivial task requiring many man hours. But most Cocoa developers would be in paid employment writing innovative OS X applications, so it's doubtful sufficient numbers would volunteer their time supporting 'the enemy' - i.e. a rival
Re: (Score:1)
Re: (Score:2)
Personally, I would rather make a native app just for iPhone than do a Java app for iPhone. iPhone really doesn't have a market fragmentation issue, it's its own segment. Given how fragmented the phone market is, a Java app would be better as a whole, but I r
Re: (Score:1)
I don't see why it's necessarily inefficient. I wouldn't expect a phone application to perform a lot of number crunching (except for media decoding), so the kinds of apps developed for a phone are likely either network or UI bound, if not both. It doesn't really matter what language you use when your app spends most of its time blocking.
Re: (Score:2)
Considering that iPhone users consider the phone's web browser to be an acceptable way to write iPhone apps [37signals.com], I highly doubt efficiency is the reason for their lack of interest.
Re: (Score:2)
Re: (Score:1)
J2ME? (Score:1)
Java = Lower quality apps? (Score:2, Insightful)
BUT... Since Java hasn't been an option, people have been writing and porting native applications to the iPhone, even without the SDK.
Assuming we can all agree that usually native > Java, so I'm afraid this may lower the overall quality of available apps. Understandably, developers don't want to write native applications for every single device. Let's be honest though - Java is a shortcut - and pr
Re: (Score:2)
Google maps load in seconds on my cell phone with its tiny 200 mhz processor. I imagine with the more powerful Iphone that javaME would run quite well.
Java really is not that bad for server and micro apps.
Re: (Score:3, Insightful)
Not having the option of writing apps in Java equals more native apps
No. You forget that there's a third option - not releasing the app for the iPhone at all. Without a Java interpreter, application providers may decide that the marketshare of the iPhone is too small compared with the marketshare of phones that support Java, and decide not to release their applications for the iPhone. In other words, not having Java apps equals fewer apps, not more native apps.
Re: (Score:2)
Hmm, I would strongly disagree. Portability is a factor, but ease of development and security are huge factors for Java on a cell phone (or any platform!) Would you allow any native application/ActiveX control to run in your web browser?
It all depends (Score:5, Insightful)
Java is a hole in the "security" of devices, in that it allows the execution of arbitrary code outside of the device's native "security model". And I use scare quotes because by security, they really mean control, and by security model, they mean control over who is or isn't allowed to produce software for the device, and run software on the device. If the Java runtime were trusted, then every Java application has the same rights as the Java runtime.
But Java has also been used by those who are legitimately concerned about security, because the virtual machine does actually make the execution of injected code very difficult. And by supporting the runtime natively, it actually gives you better control over what executes and who can execute it.
But that makes it easier to limit the features available on the devices, so you can claim to support third party software and still put up an impenetrable wall between applications and the useful, built-in capabilities that the carriers want to trick customers into believing are special "services" they must pay more for. Bluetooth, GPS, camera, and even networking have found their APIs stripped from Java on certain carriers' devices.
If Apple produces an open SDK, then putting Java on the iPhone is simple matter of porting it. Apple doesn't even need to be involved.
But if Apple uses code signing to control who is and isn't allowed to release software for it, you can forget Java ever appearing, because then anyone could write software for it. They don't seem to be at all interested in supporting Java themselves.
Re: (Score:2)
The reason Java has such a bad reputation on mobile devices is because the applications tend to suck or tend to be toys, and most of them are both. There is nothing wrong with Java itself. The problem is that MIDP is damn near useless for doing anything important. The controls look like ass, the base system is crippled, and you can't trust that the JSRs you require are on all the devices you want to support.
And
Re: (Score:2)
"Thanks to the availability of our Jbed(TM) Java(TM) VM on the Android platform, we offer immediate compatibility to the standard Java ME world to enable Java ME-based mobile services with the Android platform." -- Jean-Claude Martinez, CEO of Esmertec
There are other Java-oriented companies involved.
Here's a good summary of the speculation: http://www.screaming-penguin.com/node/7 [screaming-penguin.com]
Re: (Score:1, Insightful)
This is FUD, complete and utter rubbish. JVM provides very fine grained control of what code running inside it can and cannot do. That includes file, network and peripheral access. That stuff was in Java since day one, wake up and smell coffee.
Google 'Java security manager' or 'Java sandbox'. This can be done on per application basis, you can have more and less trusted apps running at the same time with dif
Re: (Score:1)
Java privileges don't mean jack if the underlying platform is hostile to Java to begin with. Your runtime won't have the capabilities to limit.
Apple may soon announce to step back for Sun (Score:3, Informative)
It's very questionable that they would even extend their Java efforts for the iPhone when Java support by Apple for Mac OS X might soon be over, but continued by Sun.
Main argument: Kernel APIs are stable since OS X 10.4, all major high performance graphic foundations since 10.5. The JDK could be put almost completely onto public APIs so Sun could take over development without the need for so much insider involvement anymore.
I've found the whole story here: http://javablasphemy.blogspot.com/ [blogspot.com] (currently overloaded)
Re: (Score:2)
Re: (Score:1)
I've cited an anonymous blog, duh! What could be more credible?
In the end it's just a sequence of bytes that you feel more comfortable about than other sequences of bytes. At some point in time, after you could connect it to some beliefs of yourself (like "bytes from msnbc.com always carry true facts"), you are suddenly willing to call a sequence 'evidence'.
The gPhone has them (AT&T) scared (Score:2)
This has *NOTHING* to do with any Java anniversary.
This is about competition, and that is good.
Java is not bad for mobile games. (Score:3, Interesting)
I'm a mobile phone game developer that has ported commercial games to over 200 handsets across all of the major Western carriers. This includes lots of crappy phones that could barely eke out 1fps, and lots of phones that hit 40-50fps without missing a beat. Overall though, I have a MUCH easier time porting for Java devices than for BREW [wikipedia.org], because Java is simply much easier to develop stable programs for, which means less bugs to waste time tracking down, which means you can make better quality software.
And as far as Java being slow, bloated, etc., maybe all that was true back in the 90's, but today it's perfectly fine for development on any modern machine, all of our in-house development tools are written in Java and work perfectly. And J2me [wikipedia.org], the subset of Java that you find on the phones, is particularly lightweight and speedy - most mobile JVMs compile rather than interpret the Java bytecode, and some ARM cell phone processor architectures actually execute the straight J2me bytecode directly in hardware. What varies performance most is not usually the choice of Java vs BREW for running applications, but the speed of the phone's processor and its ability to paint to the screen quickly, and in my experience these vary regardless of whether a phone is using Java or BREW. A good Java phone will be entirely indistinguishable from, if not even more capable than, a good BREW phone in terms of its game-playing ability.
If Java is ported to the iPhone, it would let existing game developers easily target their games for the iPhone during the standard porting process, and they could spend the extra time perfecting interfaces and controls to take best advantage of the iPhone's capabilities. This would mean an instant library of hundreds of quality commercial games each year, with a fast-growing library of independently-developed mobile games as well (that is, if AT&T grants its contract holders access to them). Otherwise, without a Java port it would mean a much more expensive porting process to a separate, proprietary SDK, which few mobile game companies with enough development resources will be able to profitably accomplish. So you'll probably get EA Tetris for your iPhone and little else, oh joy.
Re: (Score:2)
I don't know why we bother (Score:1)
Secondly, it seems the majority of you are not aware of the fact that the vast majority of phones out there (~80%) runs JavaME. Pretty much every single one of you have been running Java applications for years on your phones without knowing it.
Java isn't fast at everything,
Re: (Score:1)
No, I will not use some obscure "design pattern" instead of commonsense language features like function pointers or truly global anythings or class pointers.
Re: (Score:1)
Kaffee (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I guess that depends on the taste . Personally , i like the Java GUI .
But i don't really care about the iphone , i'm looking into openMoko .
Re: (Score:3, Informative)
And, as of jre 1.6.0 swing can also be set up to use gtk themes as well
I wish steve jobs made that iPhone keynote a little more dramatic, by saying:
"iPhone runs Solaris 10"
Featuring core stability, and java!
Re:Why? (Score:5, Insightful)
Re: (Score:3)
Re: (Score:1, Troll)
But yes, this is off topic w.r.t. Java on the iPhone.
However, what's the point of trying to get Java on the iPhone, other than to load craplets onto it.
If you're g
Re: (Score:2, Interesting)
Neooffice (Score:1)
Re: (Score:2)
Neooffice is what you should launch if anyone claims Java is slow with outdated information. Or run imagej and show them some filters are actually faster and more accurate than $1000 photoshop CS3.
Common Java apps, OS X and Mobile (Score:4, Insightful)
Re:Common Java apps, OS X and Mobile (Score:4, Funny)
Re: (Score:2)
I did, but apparently I didn't understand it correctly. I thought that you were citing that list of apps as good examples, not just a list of "big Java UI apps I use even though they suck," which is apparently what it was. Sorry.
Also, generalizing that Java in it's entirety is slow and bloated just because a few Java GUI apps suck as is a pretty dumb thing to do.
Yeah. So is generaliz
Couldn't be more wrong (Score:2, Informative)
Azureus is the only popular Java app on OS X???....so you mean Eclipse, NetBeans, LimeWire, and JEdit are not popular?
I think u meant to say that Swing sucks...not Java.
With regards to the lack of an official Java 1.6 on OS X...
What im wondering is how many of the people griping about this actually develop applications that leverage t
Re: (Score:3, Insightful)
The other examples you cite are all programmer's tools, so I can pretty much guarantee they're not "popular" among anybody except perhaps software developers. But software developers on Mac have XCode, so there you go.
Re: (Score:1)
Given that the only popular Java application on Mac OS X, Azureus, is universally regarded as being slow, bloated, and ugly, I'd say the GP's impression is not at all outdated.
I am using it on Mac Mini G4 1.42 Ghz with 1 Gig RAM. It works. The "bloat" is gone in Version 3, it is there for interested in "Advanced" tab which is off by default. I have no clue what people call "bloat", it is in fact a fire and forget type of client, it can be used without any settings.
Limewire which is another pure Java Application is always at top 10 of Apple downloads.
Java is not just file sharing. If Apple wants to make sense in business/science/military, they have to fix their Java or give it to
Re: (Score:2)
Seriously, though, you're right: It probably *is* possible to make a fast, stable and slick app in Java across multiple OSes. The problem is that nobody's done it yet; everything that people associate with the Java logo is slow, ugly and usually also buggy. What do you expect people to think of the technology?
If Sun really wanted to push Java on the desktop, they should have developed apps to show it off themselves. Sinc
Re: (Score:2)
Re: (Score:1, Flamebait)
The Java apps I know are Azureus, Lotus Notes, OpenOffice.org, Limewire, all of which are slow and bloated and most of which have weird alien UIs that don't match the host OS at all.
Re: (Score:2)
Re:Why? (Score:5, Interesting)
I wrote this at night over about a month:
Baby Cell [download.com]
This app lets me hand my phone (or an old phone) to my 3 year old and I don't have to worry about her calling anyone or erasing stuff. It's got basic password protection and I wanted to do more, but the end product has 15 songs, a bunch of shapes and colors, her own voice. It was more interesting when she was 2, but still, it was a fun project.
Does anyone know yet what the cost will be to develop for the iPhone? It cost me nothing but time to write Baby Cell.
Expensive toys (Score:1)
Re: (Score:2)
I'm not an advocate for JavaME, but I like it infinitely more then alternatives that aren't as easy to develop for or that I have to pay to get their (I)DE.
I'm clearly not the target audience for an iPhone. I've probably never been the target for any of Apples many wonderful products and I can honestly say they have never gotten a dime of my money.
Re:Why? (Score:5, Interesting)
As a former worker on that industry, I can tell you that there's too few applications that can't be built faster and cheaper on a good KVM than on native code.
I used to run Java games on a Siemens S55, and it work well.
One of the main problems with Java ME is the lack of interest, from the mobile industry, to invest money on something that will cause beneficts to their competitors too. They prefer to loose two users to give one to the competition.
Another one are the Operators. They are alergic to anything that gives freedom to theis costumers.
On the time I used to work for Siemens Mobile (RIP), I heard a history about why in hell the JME of S55 series can't access the InfraRed device (as the S45, that I still use nowadays, has a IR API for the Java).
The answer?
The Operatos demanded that Siemens throw out the IR API, as they do not want S55 users to intercomunicate without paying something for them (by buying GSM services). If the Siemens didn't complied, it would loose a major incoming as the Operators were the bigger buyers at the time.
The problem is not the technology. It's the industry.
Re: (Score:2)
WHen I read things like this from cell phone developers I only think its what exactly what Microsoft would love to do with desktop pc's and lock them into generic appliances where everything is rented out.
Only applies to US operators (Score:1)
If you want to write a multiply player game that uses bluetooth, for instance, you need a certificate supplied from the operator before your midlet will run.
Re: (Score:1)
Re:Why? (Score:5, Informative)
Re: (Score:2)
No compelling Java apps (Score:1)
Uh h
Re: (Score:1)
There is no other cross platform API for mobile phones, competently written or not. Unless you consider S60 such.
For me MidpSSH (or similar) is a must, and Opera mini is an excellent tool.
Re: (Score:1)
Well, it depends (Score:4, Interesting)
Eclipse is nice, an IDE for java at first but suitable for other languages, and because it is java, it could in theory run on all os'es that have java.
Azureus is nice, a bittorrent client, and because it is java, it could in theory run on all os'es that have java.
Opera for mobile phones is Java.
These are just the ones I use most often.
The bad thing about java is that the old people among us remember it from the web days when everyone used it to bloat their pages when we were on modems that already choked on dns lookups. When your memory was measured in MB and java wanted GB that is when we got our first taste of java and my god did it taste foul.
Today that matters less, we got faster internet, we got more memory and more power, so while java still has a bloated feel to it, it doesn't matter anymore.
To be fair, java is only "bloated" because it replicates what your "local" programs already have in the OS. IF java apps didn't do that, and heavily relied on the OS they wouldn't be portable.
The most important reason to want java is that it would allow ANY java app to be run under it. No more need for signing, java would be signed, not the app running on it. Suddenly the iPhone would have a ton of third party stuff available.
There is a reason american phones often lack the java capability that exists on the same model in the rest of the world, java opens up the phone.
So java is good. Yes it is a bit bloated and a big of a hog, but that is the price for having apps that port easily.
Re: (Score:2)
Out of curiousity, and because someone here will know, what the presence of Java on mobiles in the US and how does it compare to the rest of the world? Is Java standard in most countries on modern phones but not the US, or is it much patchier?
Java is extremely common on "modern" phones (Score:2)
There are javaless phones, that Motorola one with the primitive LCD display is one, but all "modern" gadget phones got it. If it can play mp3's and such, if basically it has the power to run downloadable games it has java because, well the games are java.
I can understand your confusion because it is just as confusing from my view. Basically most phones that are capable have it. How else would you play games and such on it?
To be fair, in holland and most of the EU, competition on the phones started with th
Re: (Score:1)
Now my boss/client asks me, can we make it look good and look consistent on all of these phones (100+ list in a spreadsheet). Now I have a problem.
Re: (Score:2)
Re: (Score:2)
I have not found any really compelling Java apps on my desktops (Linux and Mac OS), are there really any reasons for needing them on my phone?
Especially given the fact that getting a java port relies on having an open SDK for the iPhone -- meaning native apps can be produced. So, if there are native apps, why would we want Java?
Also, is my impression of Java outdated? Is it not slow, bloated (JRE + app), and have an ugly UI?
My bank and their millions of consumers who all got a highly secure password generator (J2ME) in age of phishing can't care less about how ugly Java is. They all got the password generator free which does work on any J2ME phone except iPhone and that generator saves them from $90+ private data watching firewall and fixed password.
iPhone market share is still a joke while I hope it will become the Symbian rival. Win CE is the real danger to standards and market. If I call my bank and tell them I got a $400
Re: (Score:1)
Re: (Score:1)