Palmclub logo  

Home | Nieuws | Reviews | FAQs | Tips | Shop | Channel Navigator | Nieuwsbrief | Forums

Review: Palm OS Programming, The Developers Guide door Neil Rhodes & Julie McKeehan

Door Gonny van der Zwaag Klik op de plaatjes voor een vergrote versie
Publicatiedatum: 25 december 2002


Het boek PalmOS programming
Een goed voornemen voor het nieuwe jaar: programmeer eens iets voor het PalmOS! Aan de hand van het boek PalmOS Programming; The Developers Guide heb ik een poging ondernomen om dit wat beter onder de knie te krijgen.
Het boek is bedoeld voor middelmatige tot ervaren C-programmeurs.
Op de website van O'Reilly vind je een fragment uit het boek: Chapter 5: Structure of an Application.
Er zijn inmiddels heel wat programmeerboeken voor het Palm-besturingssysteem te koop. Sommige daarvan behandelen alleen het programmeren in C of C++, maar er zijn ook boeken
die diverse programmeertools bespreken, zodat je een beter overwogen keuze kunt maken.
Palm Development is een boek in de laatste categorie rdere tools worden besproken. Het verscheen onlangs bij uitgeverij Pearson en is bedoeld om je op weg te helpen met het programmeren voor het Palm-platform.

Aan de slag

Krijg je van je baas de opdracht om eens te onderzoeken wat er allemaal mogelijk is op het gebied van Palm-programmeren, of wil je zelf wel eens iets ontwikkelen maar weet je niet
waar je moet beginnen, dan is dit boek een goed startpunt. Het beschrijft summier alle ontwikkelomgevingen die verkrijgbaar zijn, geeft een opsomming van de belangrijkste plus- en minpunten, bijvoorbeeld het feit of al dan niet gebruik wordt gemaakt van een runtime (zie kader).
Het boek bevat ook een groot aantal voorbeeldapplicaties die je kunt namaken. Omdat er van al deze tools gratis probeerversies verkrijgbaar zijn, hoef je niet bang te zijn dat je moet investeren in software die je later misschien nooit meer gebruikt.
Palm Development is een boek voor beginners. Als je netjes alle instructies volgt, zul je ook zonder programmeerervaring de voorbeeldprogramma's probleemloos kunnen namaken. Maar als je na afloop op eigen houtje zelf een zinvolle applicatie wilt maken, dan komt enig programmeerinzicht toch wel van pas. Door de beperkte omvang van het boek (250 pagina's) mag je eigenlijk ook niet verwachten dat je na het lezen een volleerd programmeur bent.

Zelfwerkzaamheid

Wat ik zelf prettig vind, is dat de lezer niet wordt lastiggevallen met paginalange installatie-instructies of screenshots met OK-knoppen waar je zelf ook wel uitkomt. Het is weliswaar een beginnersboek, maar dat betekent niet dat echt alles wordt voorgekauwd. De schrijver geeft de URL waar je het programma kunt downloaden en gaat er vanuit dat de rest zelf wel lukt. Alleen als er bijzonderheden zijn, wordt er aandacht aan besteedt. Bijvoorbeeld wanneer de naamgeving van directories van belang is. Ook het gebruik van de Palm Emulator (POSE) in combinatie met bepaalde ontwikkeltools vraagt nogal eens om specifieke instellingen. Natuurlijk kom je daar als doorgewinterde computeraar zelf ook wel achter, als je lang genoeg zoekt en uitprobeert, maar het boek is nu juist bedoeld om het je makkelijker te maken.

Runtimes

Een van de opvallende verschillen tussen ontwikkeltools is het gebruik van runtimes. Bij sommige tools is een runtime nodig: een hulpprogramma met standaardfuncties, die samen met het zelfontwikkelde programma naar de Palm moet worden gekopieerd. Een runtime heeft voor- en nadelen: je kunt niet in een oogopslag zien welke programma's gebruik maken van een bepaalde runtime, dus verwijder je per ongeluk de NS Basic runtime omdat je dacht dat hij niet meer gebruikt werd, dan kan het voorkomen dat bepaalde programma's niet meer werken. Een ander nadeel is dat sommige runtimes, bijvoorbeeld die van AppForge nogal groot zijn of dat elke gebruiker van het programma zelf de runtime moet aanschaffen, zoals bij HotPaw Basic. Het voordeel van een runtime is echter, dat veelvoorkomende functies niet in elk programma hoeven te worden "ingebouwd". De programmabestanden kunnen daardoor veel kleiner zijn.

Palm-programmeren

Het boek start met een aantal eigenschappen van de Palm hard- en software waar je als programmeur rekening mee moet houden. Voorbeelden zijn het beperkte scherm en geheugen, de lagere processorkracht in vergelijking met desktop pc's, het gebruik van batterijen en het ontbreken van een toetsenbord. Grote hoeveelheden tekstinvoer zijn daarom niet gewenst, applicaties die continu rekenen evenmin.
Er worden drie typen applicaties beschreven: traditionele applicaties, conduits en webclipping-applicaties. Het inleidende hoofdstuk sluit af met een opsomming van nieuwe eigenschappen in PalmOS 4.

Ontwikkeltools

In het tweede hoofstuk worden de verschillende ontwikkeltools beschreven. De Palm SDK, CodeWarrior en PRC-Tools (alledrie C/C++) worden natuurlijk besproken, maar ook de C-tools waarmee je op de Palm zelf kunt programmeren, zoals PocketC en OnboardC.
Voor Java-liefhebbers zijn er inmiddels heel wat Java Virtual Machines (JVM's) beschikbaar. Voorbeelden van Java-tools zijn VisualAge Micro Edition, Java 2 Micro Edition (J2ME) en Waba. Veel van deze tools zijn nog in ontwikkeling en het is te verwachten dat die ontwikkeling de komende tijd nog wel verder doorgaat.
BASIC is nog steeds de meestgebruikte programmeertaal ter wereld. Voor de Palm verscheen al in een zeer vroeg stadium het eerste BASIC-tool voor de Palm: HotPaw Basic. Tegenwoordig is er ook de keuze uit NS Basic en AppForge.
Wil je een database-applicatie maken, dan zijn er voldoende mogelijkheden: Satellite Forms en Pendragon Forms bijvoorbeeld, maar ook IBM DB2 Everyplace, FileMaker Mobile en PDA Toolbox. Van deze tools is PDA Toolbox de meest eenvoudige Windows-IDE (Integrated Development Environment). Maar waarom zou je moeilijk doen? Voor het vastleggen van je collectie videobanden kun je ook gewoon een spreadsheet of database maken, zonder je druk te hoeven maken over flitsende openingsschermen of sorteerfuncties. Met QuickSheet, TinySheet, MobileDB of ThinkDB heb je binnen een paar minuten de basis gelegd. Daarna is het nog een (tijdrovende) kwestie van invoeren.
Het hoofdstuk sluit af met een opsomming van exotische programmeertalen en tools, variërend van Pila (Assembler) tot PRC Editing tools en van Pocket Studio (Pascal) tot Quartus Forth.

Al deze tools worden kort gekarakteriseerd. Er worden voor- en nadelen genoemd, maar een echte afweging welk tool je in welke situatie het best kunt gebruiken blijft een beetje achterwege. Zou je bijvoorbeeld een spelletje willen programmeren, dan kun je in het boek geen duidelijke aanbeveling vinden welk tool daar nu het meest geschikt voor is.

De Palm-emulator

Voordat je je applicatie aan gebruikers beschikbaar stelt, zul je moeten testen of je programma op verschillende Palm-modellen werkt. Het is aan te raden om dat via de Palm OS Emulator (POSE) te doen. Niet alleen heb je daarmee de ROMs van verschillende versies van het besturingssysteem beschikbaar, maar er zijn ook speciale debug-ROMs waarmee programmeerfouten zichtbaar worden gemaakt. In hoofdstuk 3 wordt uitgelegd hoe je de benodigde ROM-images in je bezit krijgt en hoe je de emulator installeert en gebruikt. Voor ervaren Palm-gebruikers zal dit hoofdstuk veel bekende informatie bevatten.

Satellite Forms

In hoofdstuk 4 tot en met 7 wordt Satellite Forms van PumaTech besproken. Satellite Forms is een geïntegreerde ontwikkelomgeving (IDE). De eerste voorbeeld-applicatie die kan worden nagemaakt is de bekende "Hello World" applicatie: je drukt op een knop en er verschijnt een tekstje in beeld. Omdat het gebruik van de emulator in combinatie met Satellite Forms nogal specifieke instellingen vergt, wordt dit uitgebreid besproken. De tweede voorbeeldapplicatie is een registratiesysteem voor je video-collectie, waarmee je bijvoorbeeld kunt aangeven in welk jaar de film werd geproduceerd, hoeveel je voor de videoband hebt betaald en wat je waardering voor de film is. Deze voorbeeldapplicatie is bedoeld om het gebruik van databases te illustreren.
Wil je nog meer weten over de database-koppeling van Satellite Forms, dan kun je een derde voorbeeldapplicatie maken: een tijdsregistratiesysteem waarmee je kunt vastleggen hoeveel tijd je bij verschillende klanten hebt doorgebracht. Je kunt zelfs - net als de bekende Palm-applicatie van Van Gend & Loos - een vak op het scherm laten verschijnen waarin de klant zijn handtekening kan zetten. De handtekening wordt vervolgens opgeslagen in de database. Dat klinkt ingewikkeld maar met het scherm-element ink is het een fluitje van een cent.

AppForge

Gebruikers van Visual Basic zullen zich waarschijnlijk het meest thuisvoelen met AppForge, een add-on voor de Visual Basic ontwikkelomgeving. Met uitzondering van de Ingots, speciale versies van VB-controls, zien de knoppenbalken en menu's er vertrouwd uit. Na een uitgebreide introductie en beschrijving van de verschillende vensters en controls van AppForge (hoofdstuk 8) worden in de volgende hoofdstukken drie voorbeeldapplicaties beschreven. Om te beginnen een calculator die een tangens-berekening uitvoert. Hierbij blijkt dat AppForge erg geschikt is voor rekenkundige taken. Maar je kunt met AppForge ook een database-koppeling maken: voorbeeldapplicatie 2 is een eenvoudig voorraadbeheerprogramma waarbij gebruik wordt gemaakt van een Access-database. De meegeleverde Database Converter zorgt voor het converteren van de Access-database naar het PDB-formaat. De derde voorbeeldapplicatie is een gok- oftewel fruitmachine, die alle eigenschappen bevat die je in de Palm-versie van zo'n spelletje mag verwachten: je kunt zelf je inzet kiezen, je kunt je inzet verdubbelen of verliezen en door een opzettelijk ingebouwde vertraging wordt de indruk gewekt dat de cijfers werkelijk ronddraaien. Om de uitkomst spannend te houden wordt gebruik gemaakt van de random nummergenerator-functie.

PDA Toolbox

PDA Toolbox is waarschijnlijk het meest eenvoudige ontwikkeltool op de markt. Je hoeft alleen maar de gebruikersinterface (verschillende schermen) te maken en het programma doet de rest. Dat betekent wel dat PDA Toolbox minder mogelijkheden biedt dan een uitgebreide tool als AppForge, maar voor simpele applicaties hoeft dat geen probleem te zijn.
Als voorbeeldapplicatie wordt een reis-programma gemaakt, waarmee je details over een reis(etappe) kunt invoeren en zelfs kaartjes en schema's kunt tekenen die eveneens in de database worden vastgelegd.

CodeWarrior

Voordat er allerlei visuele drag-&-drop ontwikkelomgevingen verschenen, was er eigenlijk maar één ontwikkeltool voor het PalmOS: CodeWarrior. Het is duur en door de benodigde kennis van C/C++ misschien niet zo geschikt voor beginnende programmeurs, maar wie zich daardoor niet laat afschrikken kan in twee hoofdstukken een aardig schetsblok-programma a la BugMe maken. Om de tekening op te slaan of een alarm toe te voegen moet er echter nog heel wat extra programmeerwerk worden verricht. Het is dan ook duidelijk dat je beter niet voor CodeWarrior kunt kiezen als je snel resultaat wilt. Toch zijn er ook voordelen: programma's die in C/C++ zijn ontwikkeld zijn sneller en hebben geen runtime nodig.

Java Virtual Machines (JVM)

Er zijn inmiddels heel wat Java Virtual Machines (JVMs) op de markt. In hoofdstuk 16 worden er een aantal beschreven. Ter illustratie wordt met de Waba Virtual Machine opnieuw de "hello world"-applicatie gemaakt.

Appendices

Het boek sluit af met een lijst van handige URL's, een overzicht van eigenschappen van controls in Satellite Forms en een instructie voor gebruik van de Hongaarse Notatie, een standaard voor naamgeving van scherm-elementen, controls en datatypes.

Conclusie

Een boek van 250 pagina's biedt geen volledige programmeercursus, maar het helpt je wel op weg bij die moeilijke eerste stappen. Het boek is niet alleen geschikt voor Palm-gebruikers die zelf wel eens iets willen ontwikkelen, maar ook zeer geschikt voor meer ervaren programmeurs die nog niet zoveel van het PalmOS weten. Zij krijgen met dit boek snel een compleet overzicht van alle mogelijke tools. Na het experimenteren met een van de voorbeeldapplicaties zullen zij verder zelf hun weg wel weten te vinden. Voor mensen zonder programmeer-ervaring is dit boek een goed hulpmiddel om dat euforistische gevoel te ervaren wanneer je voor het eerst een programma gemaakt hebt dat daadwerkelijk doet wat het zou moeten doen. Maar wil je een stap verder gaan dan het nabouwen van de voorbeeldapplicaties, dan zul je toch echt over iets meer programmeer-ervaring moeten beschikken.

Verbeterbaar

  • Weinig aanbevelingen bij de keuze van het juiste ontwikkeltool

Pluspunten

  • Geen overbodige uitleg van zaken waar de lezer zelf wel uitkomt
  • Snelle en redelijk complete kennismaking met de meestgebruikte ontwikkeltools
  • Duidelijke aanwijzingen voor het bouwen van de voorbeeldapplicaties

Gegevens

  • Auteur: Clayton E. Crooks
  • Titel: Palm Development
  • ISBN: 0-7897-2649-1
  • Pagina's: 250
  • Prijs: €40
  • Te koop bij: Bol.com

Relevante links

Als je dit een leuk review vond, ben je misschien ook geïnteresseerd in:

Vragen, opmerkingen of discussie?

Via deze thread in het forum

Home | Nieuws | Reviews | Tips | Shop | Channel Navigator | Nieuwsbrief | Forums

© Copyright Nederlandse Palmclub Stichting   Over deze site

iCulture | Alles over Google Android