Five Years On, Has J2ME's Time Finally Arrived?
jg21 writes "Although he admits to having been frustrated by the slow adoption of the J2ME platform, software developer Eric Giguere believes that we're 'turning the corner.' He remembers Sun demonstrating Java running on Palm OS 'way back in 1999 when so many hoped the wireless Java revolution was just around the corner. Five years on, with notable successes such as the J2ME-enabled BlackBerry wireless handheld, that has already made a billionaire of RIM founder Mike Lazaridis, Giguere claims that, with most of the new handsets being produced supporting either JTWI or else its key component - version 2 of the Mobile Information Device Profile (MIDP) - developers finally now have a more consistent and capable platform to use for application development. Anyone wandering round this week's CES may be inclined to agree."
Not to be a troll, but what is it with all these intriguing Java products, free for downloading, that don't go too far?
- Jini
- Java 2D
- Java 3D
- Java Mail
- etc.
Is it that they are insufficient, too expensive, not completely open, or what?"Provided by the management for your protection."
You're kidding right? All the blackberrys are J2ME based and this is the fastest growing PDA out there....
since there are about several hundred devices out there, what exactly are you going to program in if you want to target a braod enough audience?
i can't believe programmers are so ignorant about mobile development! there's more than just the server you know...
Well I developed and tested J2ME applications on many different mobile phones. Performance optimizations were needed only for Sony Ericsson T series phones. Everywhere else I found the performance of the applications to be acceptable, in most cases you cannot see response time difference between J2ME application and native application of the mobile device. There are few tricks used, in order to be achieved this. (example: on some devices the JVM is loaded not on the start of the application, but when you go to the J2ME applications phone menu). Sorry when my english is bad, I'm not native english speaker.
Wait .. you mean that J2ME isn't Java for Windows ME?
One line blog. I hear that they're called Twitters now.
Well, not necessarily. Midlets are sandboxed for good reasons -- the last thing you need is to have your phone acting like IE with pop up ads, spyware etc.
That said, if sandboxing is a problem there is always personal profile if you are working on PDAs. It is pretty much just a slimmed down J2SE with pretty much all the access to the hardware you'd need, with AWT, which may not be your favorite toolkit, but is sufficient for PDA work. IBM's Websphere has SWT on PocketPC, which is clean and nice.
Even sandboxed, there are lots of useful applications that could be written other than the more or less pathetic games that seem to dominate this space.
I see two main issues with J2ME as a whole. The first issue is that performance is so limited. The ones I've used are OK once JIT has had a chance to do its magic, but getting the application off the dime on startup can be pretty painful. A lot of applications for mobile development require responsiveness. The Pizza delivery guy is going to freak if his delivery tracking program takes twenty seconds to launch while he's sitting on the doorstep.
You could locate a lot of your business logic off the phone, but in that case you might as well consider going browser based.
The second issue is that not many people have experience developing for such a constrained user interface. You just can't try to shrink down the same old things you do on a VGA resolution monitor to a PDA or worse yet a phone. There's a shift in style you have to make that takes some practice.
Actually, trying to do some non-trivial stuff on a PDA is good design exercise, and changes the way you look at other kinds of user interfaces.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.