Ontwikkelaar Koen Pijnenburg, bekend van applicaties zoals Buienradar, heeft een boek geschreven over het ontwikkelen van iPhone-applicaties. Het boek is verschenen via Pearson Education en maakt deel uit van een reeks boeken over Mac-gerelateerde onderwerpen. In 224 pagina’s legt de auteur uit hoe je een eigen iPhone-applicatie kunt ontwikkelen. Ervaring met programmeren is wel gewenst, maar alle overige details zoals het downloaden van de SDK, het iPhone Developer Center en het iPhone Provisioning Portal, legt de auteur uit.
Met een paar jaar programmeerervaring (in een andere, maar wel objectgeoriënteerde taal) moet het mij met dit boek gaanlukken om een iPhone-app te maken. De eerste drie hoofdstukken (iPhone en iPod touch, Voorbereiding en Developer Program) heb je vrij snel doorgewerkt. Dit zal voor mensen die al wat hebben rondgeneusd in App Store en Developer Center een bekend verhaal zijn. Vervolgens begint het echte werk: uitleg van Objective-C en Xcode, de Interface Builder en allerlei andere zaken waar je tegenaan gaat lopen. Eigenlijk deed me dit denken aan de ervaringen van de docent en studenten van ROC Friese Poort: zij moesten dit soort informatie zelf achterhalen en hadden met het boek in de hand meteen aan de slag kunnen gaan.
Het boek neemt je aan de hand bij het plaatsen van je eerste knop op het scherm. Het is handig als je al weet wat met termen als labels, classes en API’s wordt bedoeld, maar dat mag je bij de doelgroep van zo’n boek toch wel verwachten. Bij het doorwerken van de diverse iPhone Frameworks wordt het al wat lastiger: de auteur loopt diverse interface-elementen af, zoals knoppen, tekstinvoervelden en schakelaars en geeft daarbij ook wat tips wanneer je ze zou willen gebruiken, maar een concrete app maken komt er nog niet aan te pas. Je bent inmiddels op pagina 155 in het boek en hebt nog niets gemaakt wat je bij wijze van spreken aan je vrienden kunt laten zien.
Eerste app maken
In hoofdstuk 7, gewijd aan voorbeeldapplicaties, dacht ik eindelijk mijn eerste simpele app te kunnen maken. Een rekenmachine, een app die desnoods alleen Hello World vertoont of een simpel adresboekje, zou dat kunnen? Maar helaas gaat hoofdstuk 7 aanvankelijk over heel algemene zaken, namelijk het implementeren van animaties, tabbladen en gebruikerselementen. Educatief gezien is dat niet eens zo verkeerd: je leert veel meer de mogelijkheden toepassen en maakt voorbeelden van apps die niet helemaal klaar en toonbaar zijn, maar waarin je wel weer nieuwe dingen hebt leren toepassen.
De gedachte van de auteur daarachter is wellicht, dat je moet leren om je eigen plan te trekken aan de hand van het geleerde. Een app met een heel specifieke functionaliteit is leuk, maar elke ontwikkelaar zal weer heel andere ideeën hebben over het type app dat hij/zij wil maken. Een standaardrecept is er niet. Aan het einde van het hoofdstuk leer je gelukkig wel een eenvoudige tekenapplicatie maken. Maar dan ben je al bijna bij pagina 200…
In het laatste hoofdstuk komt het optimaliseren, testen en publiceren van je app aan de orde. Geheugenbeheer bijvoorbeeld, dat op de iPhone erg belangrijk is omdat er geen garbage collection aanwezig is. Pas nu kun je ook je eigen app installeren en testen op een apparaat. Alle voorbeeldapps heb je voorheen alleen getest met de iPhone Simulator. Je leest hoe je via het iPhone Provisioning Portal een team aanmaakt, iPhone-certificaten ophaalt, apparaten invoert en dergelijke. Alles is duidelijk aangegeven, zodat je na al dat moeizame programmeerwerk alleen nog de stappen uit het boek hoeft te volgen. Tenslotte volgt nog een luchtig gedeelte over het publiceren van je app en de marketing ervan. De ontwikkelaar geeft tips als het meertalig maken van je applicatie, het bouwen van een website rondom de app en het werken met reclame, persberichten en prijsaanbiedingen.
Recensies op websites komen ook vluchtig aan de orde. Persoonlijk had ik verwacht dat de auteur wel een lijstje van belangrijke websites had gegeven, waar je je applicatie zeker onder de aandacht moet brengen. Het was wel aardig geweest als daar ook iPhoneclub tussen had gestaan, maar er wordt geen enkele website genoemd. Je moet blijkbaar zelf maar op internet gaan zoeken naar sites als AppAdvice, TUAW en iPhone Central, die regelmatig apps reviewen. In het begin van het boek wordt nog wel terloops AppEvent genoemd, een Nederlandse website die afgelopen december een prijsactie heeft georganiseerd.
Aan de marketing van de app worden maar twee pagina’s (van de 224) besteed, terwijl ik van ontwikkelaars wel eens heb begrepen dat het promoten en support leveren van je app zo’n 50% van je tijd zal kosten. Maar goed, dat is common sense waar je als ontwikkelaar misschien zelf ook wel uit komt, terwijl de technische kant (het programmeren zelf) veel meer specifieke aandacht behoeft. Het leveren van support is een onderwerp eigenlijk dat helemaal niet aan de orde komt.
Actualiteit
Het gevaar met een boek dat vlak voor de aankondiging van iOS 4 en de iPhone 4 is geschreven, is dat de kennis alweer snel verouderd kan zijn. Toen het boek werd geschreven was er nog geen sprake van een iPhone 4. Het boek beweert dan ook, dat de iPhone beschikt over een 3 megapixel camera. Ook wordt er overal nog over iPhone OS gesproken; de auteur had ook niet kunnen vermoeden dat Apple plotseling de naam zou veranderen. Alle vernieuwingen in de nieuwste versie van het OS, waarvan een deel al in april aan de orde zijn gekomen, zul je dus niet in het boek aantreffen. Op zich is dat niet meteen een probleem: uiteindelijk gaat het om de basisvaardigheden van ontwikkelen en die veranderen (op wat naamgeving en kleine details na) toch niet zo snel. Wel zul je wat moeten oppassen bij beweringen als: “In iPhone OS kun je geen achtergrondprocessen draaien”. Dat is sinds de komst van iOS 4 natuurlijk niet meer zo, al zijn de mogelijkheden van multitasking nog steeds beperkt.
En nu, een eigen app?
Na het doorwerken van dit boekje heb ik veel kennis opgedaan over het ontwikkelen van een eigen app. Je snapt de basishandelingen, kunt makkelijk een interface samenstellen en met wat moeite lukt het je ook nog wel om de bijbehorende code erbij te verzinnen (of bestaande code naar eigen wens aan te passen). Maar met de 1.500 API’s die alleen al met iOS 4 weer extra beschikbaar kwamen, is wel duidelijk dat dit boek ze lang niet allemaal kan aanstippen.
Conclusie
Je moet het boek vooral zien als een eerste kennismaking met het programmeren voor de iPhone. Je leert de basishandelingen en moet daarna toch echt zelf op zoek gaan naar de functies die jij nodig hebt voor jouw app. Hoe lees je gegevens uit een database in? Hoe maak je een koppeling met Google Maps? Het lijkt zo makkelijk en je ziet het ook vaak toegepast in apps, maar je zult het zelf moeten ontdekken. Het boek is een startpunt en levert goed werk om je met alle basisconcepten vertrouwd te maken. Beginnende ontwikkelaars kunnen de eerste fase van de leercurve overslaan door het boek te lezen. Uiteindelijk ben je in staat om een redelijk eenvoudige app te maken, waarvan gebruikers niet direct onder de indruk zullen zijn. Het echte werk zit daarna in het zoeken van de mogelijkheden om jouw idee te realiseren en het rondkijken op ontwikkelaarsfora (waar je geen flater meer slaat omdat je dankzij het boek alle basiskennis al hebt).
Apps maken voor de iPhone
- Uitgever: Pearson Education
- Boek: Apps maken voor de iPhone
- Prijs: €19,99
- Verkrijgbaar: boekhandel en Bol.com
- Geschikt voor: beginnende en gevorderde programmeurs
- Cijfer: 7
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Reacties: 27 reacties