Java började 1991 som en framtidsstudie hos Sun Microsystems i USA. Ett lag på 13 forskare som kallades "the Green Team" fick i uppdrag att titta in i kristallkulan och förbereda Sun för nästa trend i datorvärlden. Deras slutsats var att hemelektroniken snart skulle börja smälta samman med datorerna och att Sun skulle tjäna pengar på detta genom att erbjuda allt som krävs för att skapa programvaran för de nya prylarna.
Kodnamnet för tekniken var "Oak". Den första prototypen, en interaktiv fjärrkontroll för kabel-tv, blev ingen succé. Marknaden var helt enkelt inte redo. 1995 byttes namnet Oak ut till förmån för java och utbredningen tog ett stort steg framåt genom att java blev en del av den då mycket populära webbläsaren Netscape Navigator.
Många trodde att framtiden låg i java-applets, små program inuti webbsajter, men utvecklingen gick trögt eftersom programnedladdning inte var den bästa grenen för 90-talets långsamma internet. Det var istället på serversidan som java först slog igenom.
Säkerhetslösningarna i java fungerade mycket bättre än den äldre CGI-tekniken och idag är servlets och J2EE en av de viktigaste teknikerna för webbapplikationer.
Java fungerar på olika sorters hårdvara och inuti olika operativsystem - trots att man inte behöver byta ut programmen eller göra en ny kompilering från källkod till maskinkod. Hemligheten är JVM - Java Virtual Machine - eller "sandlådan" som det också kallas. Istället för att javaprogrammen kommer åt processorn eller operativsystemet direkt kör man programmen i sandlådan.
Där gäller samma regler oavsett om datorn är en PC eller Mac eller om mobilen kommer från Motorola eller Samsung. Det gör att programmeraren bara behöver tillverka en version av spelet eller programmet - filen går sedan att köra i alla javaenheter som har tillräckligt bra prestanda.
Java i mobilen
Den del av java-tekniken som används i mobiler heter J2ME. Tekniken går framåt och för att kunna lägga till nya funktioner i java har man delat in standarden i olika delar. Några viktiga begrepp att känna till är konfigurationer, profiler och API (Application Programming Interface).
En konfiguration är en slags grundläggande beskrivning av vad som krävs av en java-enhet och den består av en JVM - sandlåda - och ett antal API. En API är ett bibliotek av olika funktioner, till exempel för att skicka SMS eller för att göra en uppkoppling via GPRS. För mobiler heter konfigurationen CLDC (Connected Limited Device Configuration) och den talar om för tillverkare och utvecklare vilka funktioner som alla java-mobiler måste klara och hur mycket minne som måste finnas tillgängligt för programmen.
Ovanpå konfigurationen ligger profilerna - mer detaljerade listor över funktioner. De profiler som är mest intressanta att känna till när det gäller mobiler är MIDP 1.0 och MIDP 2.0 (Mobile Information Device Profile). MIDP 1.0 är ganska begränsad. Det finns till exempel inget standardiserat stöd för ljud eller för säker kommunikation över internet. Tillverkarna tyckte inte att MIDP 1.0 var tillräckligt bra ens för tidiga javamobiler som Sony Ericsson T610 eller Nokia 3300, så man lade till extrafunktioner.
Olika tillverkare hade olika lösningar för extrafunktioner till MIDP 1.0, så standarden var ganska spretig under en tid. MIDP 2.0 är mer komplett och innehåller många möjligheter för spel, kommunikation och multimedia, så risken att tillverkarna frestas att hitta på egna speciallösningar är mycket mindre.
Utvecklingen fortsätter framåt och för att hålla ihop standarden samarbetar tillverkare och utvecklare inom ett program som heter JCP (Java Community Process). Medlemmarna i JCP ser till att nya tekniska möjligheter blir funktioner som går att använda i javaspel och program. Ett exempel på en teknik som lagts till i javastandarden är bluetooth. I tidiga javamobiler går det inte att använda bluetooth i ett javaprogram även om mobilen har funktionen.
Motorola tog fram en lösning, en så kallad JSR (Java Specification Request), på hur man kan koppla ihop mobilens bluetoothfunktion med java och presenterade den för övriga medlemmar i JCP. Varje JSR har ett nummer och när tillräckligt många medlemmar är nöjda med hur funktionen fungerar blir den en del av den officiella standarden.
Numret används sedan för att hänvisa till funktionen - om du till exempel läser om ett spel att det kräver "JSR 82" så innebär det att spelet kräver tillgång till bluetooth. Alla delar av javastandarden har ett JSR-nummer, oavsett om rör sig om en konfiguration, profil eller API.
Vad klarar min mobil?
Exakt vilka java-funktioner som en mobil klarar hittar du lättast på webbsidor för utvecklare eller långt bak bland det finstilta i manualen. I marknadsföringen brukar tillverkarna nöja sig med att ange vilken MIDP-version mobilen klarar. Om du är nyfiken på vilka funktioner som finns utöver till exempel MIDP 2.0 är det bra att känna till JSR-numren för de mest intressanta funktionerna.
JSR 75 - "PDA Optional Packages" ger javaprogrammen tillgång till en hel del användbar information som finns lagrad i mobilen, till exempel telefonboken. Den öppnar också mobilens filsystem så att spel och program kan lagra filer och hämta musik och bilder från minneskort.
JSR 82 - "Java APIs for Bluetooth" är ett måste för spel där du kan utmana andra spelare trådlöst eller för navigationslösningar som använder en bluetooth-GPS.
JSR 120 - "Wireless Messaging API" låter javaprogrammen skicka och ta emot SMS. Det
finns också en uppdaterad version som heter JSR 205 med stöd för MMS.
JSR 135 - "Mobile Media API" innehåller funktioner för ljud och multimedia.
JSR 172 - "J2ME Web Services Specification" är en funktion som många företagsanvändare väntat på. Den gör det enkelt att skriva javaprogram som hämtar data från till exempel affärssystem via XML.
JSR 179 - " Location API for J2ME" används för positioneringstjänster och utnyttjar GPS eller mobilmasternas läge.
JSR 184 - " Mobile 3D Graphics API for J2ME" är mycket användbar för spelutvecklare och innehåller en 3D-grafikmotor.
JSR 185 - "Java Technology for the Wireless Industry (JTWI)" är ett paraply för flera andra JSR-nummer. Enkelt uttryckt är en mobil med JSR 185 / JTWI en mobil som stödjer MIDP 2.0 och dessutom JSR 120 och JSR 135.
Så installerar du javaspel och javaprogram
Det är enkelt att komma igång med java. Ett smart sätt är att ladda ned program och spel med mobilens webbläsare, men du kan också föra över javafiler, så kallade MIDlets, till mobilen med bluetooth, IR, kabel eller via MMS. Vissa mobiler kan också köra MIDlets direkt från minneskortet.
Installera MIDlets via Bluetooth
1.Ladda ned ett javaspel eller program från webben, till exempel från någon av sidorna i rutan här intill. Spara jar-filen på skrivbordet eller i någon mapp där du enkelt hittar den.
2.Högerklicka på filen och välj "Till Bluetooth" eller "Skicka till
Bluetoothenhet". Det kan se lite olika ut beroende på vilken bluetoothdrivrutin din dator har. Kanske måste du välja en kod för att para ihop datorn med mobilen.
3.Svara "Ja" när mobilen frågar om du vill ta emot, installera eller spara filen. När överföringen är klar kan du starta programmet eller spelet direkt i vissa mobiler. I Nokia-mobiler sparas ibland java-program under "Galleri" istället för under "Program".
Installera MIDlets via webbläsaren
1.Öppna en Wap- eller xhtml-sajt där du kan hämta java-MIDlets; till exempel operatörens portal eller midlet.org/wap/
2.Bläddra dig fram till ett spel eller ett program som du vill testa och starta nedladdningen.
3.När nedladdningen är klar - välj "Ja" eller "Spara" för att kunna använda programmet.
Faktaruta - olika sorters Java
J2SE - Java 2 Platform Standard Edition
Används flitigt för javaprogram som körs i datorns webbläsare, men även för fristående datorprogram.
J2EE - Java 2 Platform Enterprise Edition
En javaversion för serverprogram och affärssystem.
J2ME - Java 2 Platform Micro Edition
Javaversionen för prylar som du håller i handen eller pluggar in i väggen. Används i mobiler, handdatorer, digitalboxar och annan elektronik.
Här kan du ladda ned spel och program
www.java.com/en/games/
www.java.com/en/mobile/
www.getjar.com
www.midlet.org
www.sonyericsson.com/fun/
www.softwaremarket.nokia.com
www.clickgamer.com
Du kan även hitta javaspel hos operatörerna:
wap.comviq.se
www.tre.se
live.vodafone.se
Javamobiler
Mobiler med MIDP 1.0 och ljud (JSR 135)
Nokia 3300
Nokia 7600
Siemens SX1
Sony Ericsson T610
Mobiler med MIDP 2.0 och bluetooth (JSR 82)
Motorola A1000
Nokia 3230
Siemens SK65
Sony Ericsson P910i
Mobiler med MIDP 2.0 och 3D-grafik (JSR 184)
Motorola RAZR V3
Nokia 6680
Samsung SGH-Z300
Siemens SL65
Sony Ericsson W550
Här hittar information om fler javamobiler:
developers.sun.com/t... />
Läs mer
forum.nokia.com
developer.samsungmobile.com
developer.sonyericsson.com
motocoder.com
java.sun.com/j2me/