Tuesday, February 21, 2006

Java och mobiltelefoner, Palm och PocketPC

Min erfarenhet är att terminalen skall ha Java stöd från början, då finns det chans att det kommer fungera att skriva Java applikationer. Fördelen är att tillverkaren tar ansvar för att Java stödet fungerar och rättar upp eventuella buggar. Att installera Java stöd själv är inte att rekommendera, det blir bara en massa problem, det är min erfarenhet.

Idag då man köper en mobiltelefon med Java stöd måste man veta vilken version av J2ME Profile som stöds. Den senaste versionen för mobiltelefoner är J2ME/MIDP 2.0 och den senaste versionen för PDAer är det J2ME/Personal Profile 1.1.
Men även vilken version av J2ME Configuration är intressant. För J2ME/MIDP är den senaste CLDC 1.1 och för J2ME/Personal Profile är den senaste CDC 1.1.

J2ME/MIDP2.0 finns det många tillverkare av mobiltelefoner som stödjer.
Tyvärr räcker det inte med stöd för J2ME/MIDP2.0 för att bygga lite mera avancerade Java applikationer, då måste man hålla koll på vilka extra Java API:er (J2ME Optional package) som telefoner stödjer.

Java världen har också insett detta problem med fragmenteringen av Java plattformen för mobila plattformen. För att motverka fragmenteringen av Java plattformen så håller det på att tas fram en Mobile Service Architecture (MSA). MSA skall ses som en fortsättning på arbetet med JTWI, syftet är att få en enhetlig javaplattform som spänner över många mobiler och mobiltelefontillverkare.
Det finns en MSA for CLDC (JSR 248) och en MSA för CDC (JSR 249). JSR 248 är en paraply JSR bestående av 23 st JSR’er.

Så i framtiden kommer Mobile Service Architecture för CLDC (JSR 248) vara värdefull vid val av mobiltelefon, men i väntan på att MSA blir klar så får vi klara oss på annat sätt.

Nokia har lanserat Nokia plattform S60 som innehåller alla bra Java API:er som vi Java utvecklare har väntat på länge. S60 plattformen är JTWI compliant och innehåller de extra Java API:er som MSA för CLDC förväntas komma innehålla.
Java MIDP in S60:
- Complete JTWI 1.0 compliancy, JSR-185 (2nd Edition Feature Pack #2)
- Location API, JSR-179 (3rd Edition)
- SIP API, JSR-180 (3rd Edition)
- Security and Trust Services, JSR-177 (3rd Edition)
- WMA API 2.0, JSR-205 (3rd Edition)Cell Broadcast and CB Push Registry support (2nd Edition Feature Pack #3)
- Scalable 2D Vector Graphics API, JSR-226 (3rd Edition)
- Effects of Scalable UI for Java MIDP (2nd Edition Feature Pack #3)
- J2ME Web Services Specification, JSR-172 (2nd Edition Feature Pack #3)
- Enhancements for Java APIs for Bluetooth, JSR-82OBEX support (2nd Edition Feature Pack #3)Push registry support (2nd Edition Feature Pack #2)
- CLDC 1.1, JSR-139 (2nd Edition Feature Pack #2)
- PIM API, JSR-75 (2nd Edition Feature Pack #2)
- FileConnection API, JSR-75 (2nd Edition Feature Pack #2)
- Mobile 3D Graphics API, JSR-184 (2nd Edition Feature Pack #2)
- Enhancements for Mobile Media API, JSR-135Midi control support (3rd Edition)Streaming media support (2nd Edition Feature Pack #3)Mobile Media API 1.1 (2nd Edition Feature Pack #1)

När det gäller J2ME/Personal Profile 1.1 så har det varit dåligt stöd för detta bland terminaltillverkarna. Men det har börjat komma ett antal mobiltelefoner/PDAer för J2ME/Personal Profile, bland annat finns Nokia series80 plattformen. Den har stöd för både J2ME/MIDP & J2ME/Personal Profile.
Men under 2006 kommer Nokia series 60 att bygga på CDC 1.1 (JSR-248) och det kommer att vara möjligt att köra både J2ME/MIDP och J2ME/Personal Profile applikationer.

När det gäller Pocket PC och Java är det problem.
Microsoft levererar naturligtvis inte med Java stöd och tillverkarna av PocketPC verkar inte intresserade att lägga på Java stöd från början.
Men det finns lite olika alternativ om man vill installerar Java stödet själv.
Några olika jvm’er:
- J9 från IBM
- CrEme4.1 från NSICOM
- Mysaifu JVM, (Open Source)
CrEme4.1 var enklast att installera!
J9 går att installerat om man har installerat IBMs utvecklingsverktyg WSDD 5.7.1, det följer med olika jvm’er.

När det gäller Palm och Java så levereras det inte med stöd för J2ME/MIDP 2.0.
Men Palm ger delvis support på Java, det går att ladda ner Java stöd och det är IBMs J9 som finns tillgängligt för nerladdning. Tyvärr har Palm inte Java stöd för nya modeller som t.ex. Palm LifeDrive och Palm TX.

Så jag har väll köpt min sista Palm, synd tycker jag, jag har alltid gillat Palm. :-(

1 comment:

Anonymous said...

Coolt!