Oracle: Java til mobiltelefoner skal piftes op

Java ME skal moderniseres og udvides, så platformen vil give billige mobiltelefoner mulighed for mange af de samme funktioner som dyrere smartphones.

Verdens mest udbredte mobilplatform er i princippet Java Micro Edition, men platformen er sakket bagud i forhold til, hvad især moderne smartphones er i stand til.

Derfor vil Oracle nu give Java Micro Edition, eller Java ME, en ansigtsløftning med flere nye funktioner og nye API'er. Det afslørede selskabet i forbindelse med JavaOne-konferencen, som finder sted i San Francisco i denne uge.

Blandt andet skal Java ME udvides, så flere af de enheder, som kører Java ME, vil kunne køre selvstændige applikationer. Selvom Java ME i dag er udbredt på flere hundrede millioner mobiltelefoner, så er det ikke alle enheder, hvor det er muligt at installere selvstændige applikationer.

Mens Apple gennem de sidste fire år har solgt i alt 250 millioner enheder med dets iOS, så findes der over tre milliarder Java-enheder. Det spænder dog over både pc'er og billige mobiltelefoner med begrænset funktionalitet.

Den første modernisering skal ske med selve den virtuelle maskine, som bruges i mobiltelefonerne. Den skal opdateres, så den passer til den nyeste version af Javas hovedstamme og Java Development Kit 7.

Oracle forventer, at moderniseringen skal ske dels ved Oracles egne bidrag og dels gennem input fra udviklermiljøet. Målet er at få gjort Java ME 7 til en platform, som kan tilbyde slutbrugerne en oplevelse på en billig mobiltelefon, der svarer til den, man finder på smartphones, skriver Oracle i en pressemeddelelse.

Mens Oracle således vil arbejde på Java ME 7, så er selskabet også gået i gang med at inddrage Java-miljøet i Java Standard Edition 8, efter Java SE 7 udkom i juli, hvor det havde været undervejs i fem år.

Java SE 8 vil formentligt komme til at indeholde blandt andet closures eller lambda-udtryk til selve sproget, og en række forbedringer af den virtuelle maskine. Eksempelvis bliver der arbejdet på bedre understøttelse af Javascript på Java Virtual Machine med en helt ny Javascript-motor.

Java har også netop fået en ny version af JavaFX, version 2.0, som bruges til klientprogrammer, og version 3.0 af JavaFX er i støbeskeen sammen med Java SE 8.

Derudover skal Java SE 8 også kunne understøtte eksempelvis multitouch-input, skriver Oracle i en pressemeddelelse.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (15)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#2 Nikolaj Brinch Jørgensen

..og indse at Java på mobilplatformen hedder Android, og få en aftale på plads med Google

Det var så Google der ikke ville lave denne aftale i sin tid med Sun. Døren er vel stadigt åben for Google, men de vil hellere have et sagsanlæg i nakken for overtrædelse af forskellige IP rettigheder. Så i din kontekst er dem der skal komme til fornuft er vel Google? Der er ikke noget specielt galt med at forbedre den mest udbredte mobil udviklingsplatform - det er en god idé. Android er kun på smartphone segmentet, det store ikke-smartphone segment, har også brug for en tidsvarende udviklingsplatform. Jvf. artiklens under-overskrift:

Java ME skal moderniseres og udvides, så platformen vil give billige mobiltelefoner mulighed for mange af de samme funktioner som dyrere smartphones

Netop at dette henvender sig til et andet segment end Android.

  • 2
  • 0
#4 Nikolaj Brinch Jørgensen

Hej Michael,

Jeg ved ikke hvorfor du læser sætningen forkert, men det gør du altså. Der står ikke at platformen vil give billige mobiltelefoner, men

så platformen vil give billige mobiltelefoner mulighed for mange af de samme funktioner som dyrere smartphones

Det er en helt anden sag.

Hvad er dit ærinde med at forsøge at udlægge Oracles/journalistens udsagn så forkert?

  • 0
  • 0
#5 Rune Molin

Du har ret - det var lidt uklart. Det ser mere ud til at Google forbrød sig mod Suns rettigheder, men det er Google og Oracle der skal komme overens sammen.

Kan dog ikke helt se hvorfor det skulle medføre billigere smartphones - Android er vel ikke prohibitivt dyrt for en telefon producent ?

Måske satsningen på Java ME er et Oracle forsøg på at sænke Android ?

  • 0
  • 0
#6 Baldur Norddahl

I et årti har de haft muligheden for at gøre Java ME til en brugbar platform på mobiltelefoner. I stedet gjorde de intet. I bedste Sun stil lancerede de platformen, fik den udbredt og sendte den derefter direkte i mølpossen. Det samme skete med Java Applets hvilket åbnede døren for Flash.

Java ME og Java Applets lider af det samme grundlæggende problem: De nødvendige API'er til telefon og browser mangler. Det forhindrer at man laver noget rigtigt spændende.

  • 2
  • 0
#10 Nikolaj Brinch Jørgensen

Java ME og Java Applets lider af det samme grundlæggende problem: De nødvendige API'er til telefon og browser mangler. Det forhindrer at man laver noget rigtigt spændende.

Hvilke mangler er det du efterlyser i Applets i forhold til f.eks Flash?

Iævrigt helt enig i din beskrivelse af hvorledes Sun har behandlet JME. Men det er da rart at se det "onde" firma Oracle nu rent faktisk gøre noget ved det. De har pengene til at gøre noget, samtidigt med at Java allerede har en meget velfungerende teknologi (i modsætning til Flash - som bare dræner maskiner for ressourcer).

  • 0
  • 0
#11 Lars Tørnes Hansen

De har pengene til at gøre noget, samtidigt med at Java allerede har en meget velfungerende teknologi (i modsætning til Flash - som bare dræner maskiner for ressourcer).

Det med at Java ikke dræner maskiner for ressourcer kommer det sig ikke af 2 ting?

1) De folk hos Oracle der laver/lavede JRE/JME er ikke kodeaber - det modsatte er så åbenbart tilfældet hos Adobe, hvor der slet ikke tænkes på brug af ressourcer

2) For JME er der den ekstra ting at der i billige telefoner bruges en ARM processor, der har hardware support for java bytecode instruktioner (så vidt jeg ved)

Indrømmet jeg er hård overfor Adobe, men de har li'som aldrig rigtig demonstreret at kunne lave noget ordentlig software når vi snakke om Adobe Flash, og Adobe Acrobat Reader for eksempel.

  • 0
  • 0
#13 Baldur Norddahl

Hvilke mangler er det du efterlyser i Applets i forhold til f.eks Flash?

I forhold til flash mangler (eller manglede) der bedre mulighed for lyd og effektiv grafik. Alt det som flash er blevet populært på er bare meget svært at kode i en Java 1.1 maskine med AWT og så videre. Eftersom du kan lave en canvas og styre pixels enkeltvis er alt i princippet muligt, men det var java slet slet ikke hurtigt nok til dengang - og er det måske stadig ikke.

Men java havde også en chance i forhold til JavaScript. De fejlede totalt på ikke at lave en måde at snakke med browseren. Hvorfor kan Java ikke manipulere DOM træet på samme måde som JavaScript kan? Den smule integration der var, var proprietære Netscape udvidelser.

Java fejler også på at være alt for langsom til at starte. En Java Applet skal kunne reagere ligeså hurtigt som et stykke indlejret JavaScript.

Java har også fejlet på at have for mange sikkerhedsfejl. Det er ironisk fordi JVM'en er faktisk designet til at være meget sikker, og der er mig bekendt aldrig fundet fejl i selve sikkerhedsmodellen der ligger bag JVM'en. Når der alligevel i en evig strøm dukker nye problemer op skyldes det at størstedelen af Javas biblioteker er skrevet i C - ikke Java. Der er millioner af linjer C kode og det vil aldrig lykkes at finde alle problemerne der.

De nyeste udgaver af Java kan noget mere, men nu er det ligesom for sent. Desuden har Sun også droppet det arbejde. Man ville opgradere Java med Java FX med mere, men det er lagt i dybfryseren.

Men nu er tiden til noget helt andet. Vi gider ikke flere proprietære sprog, som Java dybest set er uagtet diverse opensource strategier. Det skal hellere ikke hede silverlight, dart, actionscript eller guderne vide hvem der næste gang forsøger score kassen på at eje "websproget".

Tiden er moden til en uafhængig VM. For eksempel LLVM som det er brugt i Googles Native Client projekt. API'erne er stadig vigtige, så der skal være rigtig god integration til browser og OS på en måde hvor der er tænkt over sikkerhed med mere. Der vil være fuldstændig frihed til at vælge sprog. Selv usikker C kode kan køres på en måde som forhindrer problemer i at udvikle sig. Vi skal undgå Javas fejl med store biblioteker som kører uden for sandkassen.

  • 2
  • 0
#14 Lars Tørnes Hansen

Har ARM support for bytecode?

Ja, jeg havde ret. På arm.com står der at det heder Jazelle: http://www.arm.com/products/processors/technologies/jazelle.php

Jeg er udmærket klart over at der i smartphones bruges en ret heftig ARM processor, men der bruges også en ARM processor i de billige telefoner, der ikke er en smartphone. Nogle af de mest markante forkelle er at ARM processoren i en billig telefon altid kun har 1 kerne, er meget langsommere, og den har ingen MMU.

  • 0
  • 0
#15 Nikolaj Brinch Jørgensen

Ja, jeg havde ret. På arm.com står der at det heder Jazelle: http://www.arm.com/products/processors/technologies/jazelle.php

I stand corrected :-)

Men det er vist ikke særlig brugbart, da det er langsommere end JIT eller AOT compilation. Der findes vist heller ikke nogen Jazelle baserede VM'er?

Jazelle ser også forladt ud, og på Conrtex A8 og A9, vil man nok også bruge ThumbEE til at afvikle f.eks. Java, .NET, Python osv. (ThumbEE er branded Jazelle RCT). MMU er vist optionelt - afhængigt af den telefon man vil bygge. Selv Sony Ericssson K og W modeller har 200 MHz + MMU.

  • 0
  • 0
Log ind eller Opret konto for at kommentere