iOS app developer, maar geen Android?
“Dus je ontwikkelt geen Android apps” vroeg de relatie over de telefoon. “Nee” zei ik, en ik legde uit dat ik me graag focus op een bepaald gebied waar ik échte expertise kan bieden, en dat dat gebied voor mij iOS is. iPhone apps en iPad apps dus, en geen Android apps.
“Maar, een iOS app developer, die kijkt toch juist neer op Android development?”, ging hij verder, “[Mijn huidige ontwikkelaar] die doet Web applicaties, Android applicaties, van alles wat, maar iOS app development, daar waagt hij zich niet aan”.
Ik heb hier niet op doorgevraagd, maar het gedachtenpatroon van deze persoon kwam als volgt op me over: De gemiddelde developer die wel Android doet, waagt zich niet aan iOS. Dat betekent vast dat iOS apps maken heel moeilijk is, en de iOS app developer een soort koning is die neerkijkt op het Android klootjesvolk, want, zo zal hij gedacht hebben, iOS app developers draaien andersom hun hand natuurlijk niet om voor Android apps. iOS app developers hebben het Android stadium achter zich en houden zich nu met de laatste eindbaas bezig, iOS.
Naast dat dit natuurlijk gelukkig grote onzin is, bestaan er wel degelijk barrières die specifiek voor de overstap naar iOS app development, een hindernis zijn. Er is een reden dat bijvoorbeeld web developers niet zomaar even een iOS app er bij doen, maar wel met minder aarzeling Android development opdrachten aannemen. Ook al ligt dit buiten hun eigen expertise. Dit zeg ik overigens op basis van mijn eigen ervaringen met programmeurs en softwareleveranciers, niet op basis van onderzoek. In dit blog wil ik wat dieper ingaan op wat die barrières nu precies zijn.
De barrières
De redenen om als developer niet gemakkelijk voor iOS app development te kiezen zijn als volgt:
Abonnement
Hoewel er ook kosten zijn verbonden aan het kunnen publiceren in de Android Play Store, is deelname aan het Apple developer program duurder. Betalingen keren jaarlijks terug en stoppen met betalen betekent dat de apps uit de app store verdwijnen.
Hardware
Voor iOS app development heb je een Mac nodig. Ondanks dat het mogelijk is om de code voor een iOS app geheel buiten een Mac om te schrijven, heb je bij het uitproberen op je iPhone (die je ook moet aanschaffen) en uiteindelijk publiceren naar de App store, altijd een Mac nodig.
Daarnaast heb je niet zoals bij Android development, de mogelijkheid om voor weinig geld een Windows-machine te kopen en te beginnen. Macs zijn relatief prijzig en vormen daarmee een natuurlijke barriere om iOS app development uit te proberen.
Swift
Wil je een iOS app developer worden, dan heb je voor wat betreft programmeertalen de keuze: Objective-C of Swift. Beide zijn gemaakt voor iOS (of Mac) app development. De oplettende lezer zal aangeven dat ze in feite ook voor andere doeleinden gebruikt kunnen worden, en in meerdere mate geldt dit ook voor Swift, alleen is het gebruik daarvoor (en dus het leergemak) verwaarloosbaar. Het moeten leren van (de eigenaardigheden) van een nieuwe programmeertaal waar je ook nog eens weinig aan hebt buiten iOS app development om, is dus ook een logische barrière voor ontwikkelaars om er mee te beginnen.
Objective-C
Naast Swift is er dus Objective-C als keuzeoptie om mee te programmeren. Wat er bijzonder aan Objective-C is, is dat het voor de gemiddelde programmeur écht als een vreemde taal zal aanvoelen, met eigenaardigheden die een afschrikwekkend effect hebben omdat de leercurve vrij steil lijkt. Ik heb hierdoor een verder goede en breed ontwikkelde programmeur zien afhaken, ook al was hij in het bezit van Mac en iOS hardware.
Denken als een gebruiker
Dit is een tricky one. Denken als een gebruiker (een belangrijke eigenschap van een developer, vind ik zelf) zal toch zeker niet exclusief kunnen worden toegeeigend door iOS developers? Zeker niet (gelukkig niet), maar sinds jaar en dag is iOS anders opgezet dan Android. Waar Android de gebruiker op allerlei vlakken keuzemogelijkheden biedt, doet iOS dat minder omdat er al keuzes voor je gemaakt zijn. Iets minder abstract omschreven: Als Apple denkt dat 90 procent van de gebruikers een bepaalde gebruiksinstelling altijd op stand A wil hebben, is de kans groot dat stand B nooit een optie wordt in iOS. Android zal in zo’n geval stand A en stand B beide ondersteunen.
Een iOS gebruiker verwacht dus (of is op zijn minst gewend) dat er voor hem of haar bepaalde keuzes worden gemaakt, wat het gebruik prettiger maakt. Als iOS app developer moet je daarom verder gaan dan een Android developer. Je moet accurater de wijze van gebruik van je app kunnen voorspellen, en gemakkelijker in de huid van een gebruiker kunnen kruipen om de set aan menu-opties e.d. te beperken tot het minimum.
App review
En dan is er natuurlijk de App store review. Als iOS app developer ben je aan de Apple goden overgeleverd bij het publiceren van je app. Althans, zo kan het voelen voor een buitenstaander. Regelmatig haalt Apple het developernieuws als er nieuwe app store richtlijnen zijn, een hele groep apps plotseling wordt uitgesloten van updates of als het publiceren van een voor Apple semi-concurrerende app bemoeilijkt lijkt te worden. Dat schrikt af en maakt dat vele developers zich niet in dat grijze gebied wagen.
Barrières
Zo zijn er dus een aantal natuurlijke barrières die niet-iOS-developers ervan weerhouden om hierin in te stappen. Andersom is dat overigens ook zo, zoals het grote aantal toestellen en toestelmerken dat je moet ondersteunen als Android developer. Alleen hierom al hebben ze mijn respect! Of de webserver kennis die je als web developer moet gaan krijgen. Bovengenoemde barrieres zijn echter specifiek voor het ontwikkelen van iOS apps, en vormen voor veel mensen een (veel) grotere hindernis dan bijvoorbeeld de stap naar Android development. Misschien is dat ook niet zo erg. Focussen op het vergroten van je kracht in enkele gebieden levert namelijk meer op dan zo breed mogelijk ontwikkeld willen zijn. En iOS apps programmeren is op een aantal gebieden echt een andere “tak van sport”.
Vragen
Heeft u naar aanleiding van dit artikel vragen? Heeft u een iOS app developer nodig? Neem gerust geheel vrijblijvend contact met me op om uw situatie en wens te bespreken.
Afbeelding: Igeeksblog
Barrières voor de aspirant iOS app developer
Rotterdam, 1 juli 2018
iOS app developer, maar geen Android?
“Dus je ontwikkelt geen Android apps” vroeg de relatie over de telefoon. “Nee” zei ik, en ik legde uit dat ik me graag focus op een bepaald gebied waar ik échte expertise kan bieden, en dat dat gebied voor mij iOS is. iPhone apps en iPad apps dus, en geen Android apps.
“Maar, een iOS app developer, die kijkt toch juist neer op Android development?”, ging hij verder, “[Mijn huidige ontwikkelaar] die doet Web applicaties, Android applicaties, van alles wat, maar iOS app development, daar waagt hij zich niet aan”.
Ik heb hier niet op doorgevraagd, maar het gedachtenpatroon van deze persoon kwam als volgt op me over: De gemiddelde developer die wel Android doet, waagt zich niet aan iOS. Dat betekent vast dat iOS apps maken heel moeilijk is, en de iOS app developer een soort koning is die neerkijkt op het Android klootjesvolk, want, zo zal hij gedacht hebben, iOS app developers draaien andersom hun hand natuurlijk niet om voor Android apps. iOS app developers hebben het Android stadium achter zich en houden zich nu met de laatste eindbaas bezig, iOS.
Naast dat dit natuurlijk gelukkig grote onzin is, bestaan er wel degelijk barrières die specifiek voor de overstap naar iOS app development, een hindernis zijn. Er is een reden dat bijvoorbeeld web developers niet zomaar even een iOS app er bij doen, maar wel met minder aarzeling Android development opdrachten aannemen. Ook al ligt dit buiten hun eigen expertise. Dit zeg ik overigens op basis van mijn eigen ervaringen met programmeurs en softwareleveranciers, niet op basis van onderzoek. In dit blog wil ik wat dieper ingaan op wat die barrières nu precies zijn.
De barrières
De redenen om als developer niet gemakkelijk voor iOS app development te kiezen zijn als volgt:
Abonnement
Hoewel er ook kosten zijn verbonden aan het kunnen publiceren in de Android Play Store, is deelname aan het Apple developer program duurder. Betalingen keren jaarlijks terug en stoppen met betalen betekent dat de apps uit de app store verdwijnen.
Hardware
Voor iOS app development heb je een Mac nodig. Ondanks dat het mogelijk is om de code voor een iOS app geheel buiten een Mac om te schrijven, heb je bij het uitproberen op je iPhone (die je ook moet aanschaffen) en uiteindelijk publiceren naar de App store, altijd een Mac nodig.
Daarnaast heb je niet zoals bij Android development, de mogelijkheid om voor weinig geld een Windows-machine te kopen en te beginnen. Macs zijn relatief prijzig en vormen daarmee een natuurlijke barriere om iOS app development uit te proberen.
Swift
Wil je een iOS app developer worden, dan heb je voor wat betreft programmeertalen de keuze: Objective-C of Swift. Beide zijn gemaakt voor iOS (of Mac) app development. De oplettende lezer zal aangeven dat ze in feite ook voor andere doeleinden gebruikt kunnen worden, en in meerdere mate geldt dit ook voor Swift, alleen is het gebruik daarvoor (en dus het leergemak) verwaarloosbaar. Het moeten leren van (de eigenaardigheden) van een nieuwe programmeertaal waar je ook nog eens weinig aan hebt buiten iOS app development om, is dus ook een logische barrière voor ontwikkelaars om er mee te beginnen.
Objective-C
Naast Swift is er dus Objective-C als keuzeoptie om mee te programmeren. Wat er bijzonder aan Objective-C is, is dat het voor de gemiddelde programmeur écht als een vreemde taal zal aanvoelen, met eigenaardigheden die een afschrikwekkend effect hebben omdat de leercurve vrij steil lijkt. Ik heb hierdoor een verder goede en breed ontwikkelde programmeur zien afhaken, ook al was hij in het bezit van Mac en iOS hardware.
Denken als een gebruiker
Dit is een tricky one. Denken als een gebruiker (een belangrijke eigenschap van een developer, vind ik zelf) zal toch zeker niet exclusief kunnen worden toegeeigend door iOS developers? Zeker niet (gelukkig niet), maar sinds jaar en dag is iOS anders opgezet dan Android. Waar Android de gebruiker op allerlei vlakken keuzemogelijkheden biedt, doet iOS dat minder omdat er al keuzes voor je gemaakt zijn. Iets minder abstract omschreven: Als Apple denkt dat 90 procent van de gebruikers een bepaalde gebruiksinstelling altijd op stand A wil hebben, is de kans groot dat stand B nooit een optie wordt in iOS. Android zal in zo’n geval stand A en stand B beide ondersteunen.
Een iOS gebruiker verwacht dus (of is op zijn minst gewend) dat er voor hem of haar bepaalde keuzes worden gemaakt, wat het gebruik prettiger maakt. Als iOS app developer moet je daarom verder gaan dan een Android developer. Je moet accurater de wijze van gebruik van je app kunnen voorspellen, en gemakkelijker in de huid van een gebruiker kunnen kruipen om de set aan menu-opties e.d. te beperken tot het minimum.
App review
En dan is er natuurlijk de App store review. Als iOS app developer ben je aan de Apple goden overgeleverd bij het publiceren van je app. Althans, zo kan het voelen voor een buitenstaander. Regelmatig haalt Apple het developernieuws als er nieuwe app store richtlijnen zijn, een hele groep apps plotseling wordt uitgesloten van updates of als het publiceren van een voor Apple semi-concurrerende app bemoeilijkt lijkt te worden. Dat schrikt af en maakt dat vele developers zich niet in dat grijze gebied wagen.
Barrières
Zo zijn er dus een aantal natuurlijke barrières die niet-iOS-developers ervan weerhouden om hierin in te stappen. Andersom is dat overigens ook zo, zoals het grote aantal toestellen en toestelmerken dat je moet ondersteunen als Android developer. Alleen hierom al hebben ze mijn respect! Of de webserver kennis die je als web developer moet gaan krijgen. Bovengenoemde barrieres zijn echter specifiek voor het ontwikkelen van iOS apps, en vormen voor veel mensen een (veel) grotere hindernis dan bijvoorbeeld de stap naar Android development. Misschien is dat ook niet zo erg. Focussen op het vergroten van je kracht in enkele gebieden levert namelijk meer op dan zo breed mogelijk ontwikkeld willen zijn. En iOS apps programmeren is op een aantal gebieden echt een andere “tak van sport”.
Vragen
Heeft u naar aanleiding van dit artikel vragen? Heeft u een iOS app developer nodig? Neem gerust geheel vrijblijvend contact met me op om uw situatie en wens te bespreken.
Afbeelding: Igeeksblog