Java voor de hand?
Door Jan Kampherbeek
Hoewel oorspronkelijk ontworpen als taal voor eenvoudige elektronische toepassingen, is Java tegenwoordig vooral te vinden in zware (liefst geclusterde) serveromgevingen. Waar veel geheugen en forse processorkracht beschikbaar zijn, levert deze toegankelijke taal op flexibele wijze praktische prestaties. Een uitgangspunt dat lijkt te botsen met de beperkingen die mobiele apparaten juist op deze gebieden hebben. Toch bieden PDA’s en gsm’s steeds vaker een Java runtime-omgeving, en daar draait wel degelijk bruikbare software op. Hoe functioneert Java dan voor mobiliteit, en in welk geval is Java te verkiezen boven een alternatief als xHTML?
Door één deur met Java
Mobiele apparatuur kan om twee redenen goed met Java overweg. Ten eerste is de architectuur van de taal goed aan te passen. De vele lagen, design patterns en EJB’s die kenmerkend zijn voor een zware Java architectuur hóef je namelijk niet per se in te zetten. In plaats van een overdaad aan lagen en bijbehorende interfaces bedient de programmeur zich simpelweg van POJO’s (Plain Old Java Objects) om ook bij beperkte geheugenruimte een goed functionerend ‘lean and mean’ programma te schrijven. De applicaties krijgen met POJO’s weer een prettig kleine omvang, en zijn bovendien een stuk sneller. Het tweede aspect dat mobiel Java mogelijk maakt is het bestaan van een specifieke runtime-omgeving. Speciaal voor het ontwikkelen van mobiele toepassingen is er Java ME, naast de standaard ontwikkelomgeving SE (met ondersteuning voor de desktop) en Java EE voor serverapplicaties. In de ontwikkelomgeving gebruik je weliswaar altijd Java SE, ook al programmeer je alleen voor servers of juist voor mobiliteit, de runtime environment van ME is aanvullend en maakt het mogelijk de ontwikkelde applicaties op bescheiden systemen te draaien.
Java ME
Op dit moment ondersteunen de meeste Java-ontwikkelomgevingen Java ME en bieden ze een emulator om de resultaten te testen. Java ME is gratis te downloaden bij Sun, en voorziet in API’s, documentatie en een eenvoudige toolkit voor het inrichten van projecten. De belangrijkste library, javax.microedition, biedt onder meer mogelijkheden voor het aansturen van een gebruikersinterface op diverse kleine apparaten (zie ook illustratie). Werken met Java ME is relatief simpel, en er zijn uitstekende applicaties mee te bouwen. De meegeleverde emulator test de ontwerpen daarbij gemakkelijk uit. Sun levert bovendien een aantal voorbeeldtoepassingen inclusief de broncode.
Java of xHTML
Voor iedereen die een woordje Java spreekt zal het duidelijk zijn: mogelijkheden voor mobiele toepassingen zijn er met Java te over. Rest de vraag wanneer je nu voor Java kiest, en wanneer een andere benadering meer voor de hand ligt. Voor mij geen heet hangijzer. Als de bestaande applicaties zijn ingericht naar een klassiek drielagenmodel (database, server, client), en de mobiele telefoon als client kan fungeren, verdient xHTML al snel de voorkeur (met name vanwege de ontwikkel- en gebruikssnelheid). Zijn GPRS- UMTS- of andere verbindingsmogelijkheden beperkt, en is het wenselijk dat het apparaat zowel in performance- als grafisch opzicht optimaal presteert, zeg dan met een gerust hart ‘ja’ tegen Java.
Sun.com
Voor meer informatie over Java én om Java ME direct te downloaden, zie http://java.sun.com/javame/.
|