Ubergreifend

Wireless Java: Java ME - plattformübergreifend programmieren

Wire­less Java, bekannt unter der Bezeich­nung Java ME, ermög­licht durch eine spezi­fische Vari­ante den Platt­form-über­grei­fenden Einsatz von Java-Anwen­dungen auf Handys und Smart­phones.
Von Marie-Anne Winter / Ralf Trautmann / Jonas Baltruschat

Java ME Java ME
Logo: Java ME
Neben den bekannten Handy-Betriebs­sys­temen wie Android, iOS und weiteren gibt es nach wie vor Einfach- und Mittel­klasse-Handys, die mit einem proprie­tären System des Herstel­lers ausge­lie­fert werden. Hier kann dann zur Erwei­terung mit Soft­ware nicht auf einen popu­lären Apps­tore wie den Google Play Store oder den Apple AppStore zurück­gegriffen werden, da Programme für jedes Betriebs­system und zum Teil Gerät neu umge­setzt werden müssten.

Doch es gibt eine Lösung: Mit Java ME steht auch eine Umset­zung der weit verbrei­teten Program­mier­sprache Java für Handys und andere mobile Endge­räte zur Verfü­gung. Um entspre­chende Programme nutzen zu können, muss auf dem jewei­ligen Endgerät eine virtu­ellen Java-Maschine, auch Java VM genannt, instal­liert sein - und diese ist auch bei einfa­chen Handys oft mit dabei.

Vorteil der Lösung über die Java VM: Die Anwen­dungen laufen (weit­gehend) Platt­form- und damit Hersteller-unab­hängig, sie müssen also nicht für jedes Endgerät neu entwi­ckelt werden. Damit ist für Entwickler die Voraus­set­zung geschaffen, Anwen­dungen zu erschaffen, da diese auto­matisch auf einer großen Zahl von Geräten genutzt und nicht immer indi­viduell ange­passt werden müssen - das erhöht natür­lich die Bereit­schaft der Entwickler. Bekannt wurden Java-Programme für Handys zum Beispiel als Handy-Spiele, die auf Musik­sen­dern beworben werden - natür­lich lassen sich mittels Java aber vor allem auch ernst­hafte Anwen­dungen umsetzen.

Viele aktu­elle Smart­phones ohne Java-ME-Support

Java ME Java ME
Logo: Java ME
Java ME bietet verschie­dene soge­nannte Konfi­gura­tionen, wobei Connected Limited Device Confi­gura­tion (CLDC) die Stan­dard-Konfi­gura­tion für Handys ist. CLDC ist auf die Hard­ware-Möglich­keiten von (einfa­chen) Handys abge­stimmt, die über einge­schränkten Spei­cher und begrenzte Energie sowie über eine Daten­schnitt­stelle verfügen. Diese Konfi­gura­tionen bieten dann wiederum soge­nannte Profile, hier ist das MIDP (Mobile Infor­mation Device Profile) die Stan­dard-Vari­ante für Handys. Aufgrund von Weiter­ent­wick­lungen gibt es MIDP in verschie­denen Versionen. Die jewei­lige Version legt dann einen bestimmten Umfang an APIs (Appli­cation Programming Inter­faces, zu deutsch Program­mier­schnitt­stellen) fest, die verfügbar sein müssen. Neben dem Stan­dard-Set an Spezi­fika­tionen sind dabei manche Teile optional - sodass nicht jedes Endge­räte diese unter­stützt. Im Rahmen von MIDP erstellte Programme heißen im Fach­jargon MIDlets.

Eine Lauf­zeit­umge­bung für Java ME steht - wie bereits erwähnt - für viele Handys zur Verfü­gung, aber gerade bei aktu­ellen Smart­phones fehlt unter Umständen die Unter­stüt­zung, da mitt­ler­weile fast alle Smart­phones über einen fest zuge­wie­senen Apps­tore verfügen. Dies hat auch hand­feste, finan­zielle Gründe: Würde hier eine Java VM geboten, ließe sich das Apps­tore-Prinzip als einziger Vertriebs­kanal aushe­beln, da um den Apps­tore "herum" zusätz­liche Soft­ware gekauft werden könnte.

Gene­rell gilt aber: Wenn sinn­voll umge­setzt, sind native Anwen­dungen einer Java-ME-Appli­kation in puncto Geschwin­dig­keit über­legen - zudem ist der mögliche Funk­tions­umfang größer.

Mehr zum Thema Java