Friday, March 03, 2006

Is J2ME/Personal Profile a dead Java version?

There's a presentation about Next Generation Java in Nokia platforms given in a Forum Nokia Tech Days event last year in August. I have here an interesting picture from this presentation:

If you read about Nokias S60 platform
"During 2006 the S60 platform will also offer rich UI support matching native capabilities (eSWT) and J2SE compatible API subset (CDC/FP)"

As I understand, Nokia will support Foundation Profile 1.1, but the graphics toolkit is not going to be based on J2ME/Personal Profile & J2ME/Personal Basis Profile, it would be based on eSWT instead.

The J2ME/Personal Profile is essentially a graphics package, a subset of AWT. It is a superset of Basis Profile, which is a graphics packaged based on the Xlet model. Basis Profile is a superset of the Foundation Profile, which supports the basic core classes, but no graphics package.

It look to me that the J2ME/Personal Profile and J2ME/Personal Basis Profiles won't be used anymore on Nokia devices. Instead we're going to have eSWT over Foundation Profile 1.1, that is, you get a (much) better windowing toolkit , but also get a very complete subset of J2SE 1.4.2, which is exactly what J2ME/Personal Profile 1.1 is.

But I am not sure about that, what is your option?
Is J2ME/Personal Profile a dead product?
If companies like Nokia start to not support J2ME/Personal Profile, then J2ME/Personal Profile will be dead product, that is my personal opinion.

update no 1: I agree with the comments from Björn C, JSR-249 should include GUI functions other than what’s in MIDP like eSWT or/and J2ME/Personal Profile.

update no 2: comments from Martin Ryzl, Sun in the Netbeans team: JSR-249 is not about UI toolkit - it's kind of standardization of APIs based on CDC configuration, similar to JSR-248 for CLDC.
Speaking about UI toolkits, you should look at JSR-209 (aka AGUI) which is a subset of Swing for CDC. We will support this technology together with Personal Profile (awt).
eSWT is not a JCP standard, thus it cannot be part of JSR-249 and until it is standardized through jcp process we won't support it.

update no 3: anonymous-comment talk about confusion and I could only agree, for me it look like Nokia will drop support for J2ME/Personal Profile and go for eSWT, if it is correct I don't now, only Nokia now.

update no 4: There are some different UI toolkits for the J2ME/CDC platform.We have awt (Personal Profile), we also have AGUI (JSR-209) which is a subset of Swing for CDC. Both are standardized through the jcp process. Nokia talk about eSWT and it is not a JCP standard, any plans standardized eSWT through the jcp process ? Will Nokia only support eSWT for the J2ME/CDC platform in the future?
I think there it is a little confusing in this UI toolkit area!
I think it would be great if Nokia could clarify this matter.


Björn C said...

This blog entry made me aware that the JSR249 does not include any GUI functions other than whats in MIDP, and that Nokia i going for eSWT. I think that if it doesn't include a GUI (that is suitable for the hi-end device the JSR is targeted for) the whole JSR will miss its purpose. Personal Profile or at least Personal Basis Profile should be the obvious choice.

Anonymous said...

I mean, this is bit of confusion. There is also similar JSR248 for CLDC. CLCD has better basic security model, it simply runs in sanbox, while CDC can use native code, which makes whole security considerations more tougher. IMHO, those device will include both, JSR 248 & 249 packages.