Zo, je wilt je eigen app maken? Dat is geweldig! Het maken van een app is een leuke en lonende ervaring. Ik herinner me nog steeds de vreugde toen ik jaren geleden voor het eerst een app maakte, ook al is de app nog zo eenvoudig en elementair.
Voordat we ons gaan verdiepen in het programmeren voor iOS, nemen we eerst de tools door die je nodig hebt om een app te bouwen en bereiden we je voor op het leren ontwikkelen van iOS-apps.
De tools
Apple heeft de voorkeur gegeven aan een gesloten ecosysteem boven een open systeem. iOS kan alleen worden uitgevoerd op Apple’s eigen apparaten, waaronder de iPhone en iPad. Dit in tegenstelling tot zijn concurrent Google, Android mag draaien op mobiele apparaten van verschillende fabrikanten. Als aspirant iOS-ontwikkelaar betekent dit voor u dat u een Mac nodig hebt voor app-ontwikkeling.
1. Zorg voor een Mac
Het hebben van een Mac is de basisvereiste voor iOS-ontwikkeling. Om een iPhone (of iPad) app te ontwikkelen, heb je een Mac nodig met een Intel-gebaseerde processor die draait op macOS versie 10.15.4 (of later). Als je nu een PC hebt, is de goedkoopste optie de aanschaf van de Mac Mini. Op het moment van schrijven is de verkoopprijs van het instapmodel US$799. U kunt hem aansluiten op de monitor van uw PC. Het basismodel van Mac mini wordt geleverd met een 3,6-GHz quad-core Intel Core i3 processor en 8 GB geheugen. Dit zou goed genoeg moeten zijn om de iOS ontwikkeltools probleemloos te laten draaien. Natuurlijk, als u een groter budget heeft, neem dan het hogere model of een iMac met betere rekenkracht.
What about Hackintosh? Is it an option if you do not have a Mac? I heard that we can use it to run Mac on Windows machines. While you may have heard of some success cases of using Hackintosh for iOS development, it is not the recommended approach. If you are serious about learning iOS development and afford the upfront cost, a Mac is a worthwhile investment.
2. Registreer uw Apple ID
U heeft een Apple ID nodig om Xcode te downloaden, toegang te krijgen tot iOS SDK documentatie, en andere technische bronnen. Het belangrijkste is dat u hiermee uw app kunt implementeren op een echte iPhone/iPad om te testen.
Als u een app hebt gedownload uit de App Store, is het vrij zeker dat u al een Apple ID hebt. Als u nog niet eerder een Apple ID hebt aangemaakt, moet u er een aanvragen. Ga gewoon naar de website van Apple (https://appleid.apple.com/account) en volg de procedures voor registratie.
3. Installeer Xcode
Om te beginnen met het ontwikkelen van iOS-apps is Xcode het enige hulpprogramma dat u hoeft te downloaden. Xcode is een geïntegreerde ontwikkelingsomgeving (IDE) die door Apple wordt geleverd. Xcode biedt alles wat u nodig hebt om een vliegende start te maken met de ontwikkeling van uw app. Het bevat al de nieuwste versie van de iOS SDK (kort voor Software Development Kit), een ingebouwde broncode-editor, grafische gebruikersinterface (UI) editor, debugging tools en nog veel meer. Het belangrijkste is dat Xcode wordt geleverd met een iPhone (en iPad) simulator, zodat u uw app kunt testen zonder de echte apparaten.
Om Xcode te installeren, gaat u naar de Mac App Store en downloadt u het. Als u de nieuwste versie van Mac OS gebruikt, kunt u de Mac App Store openen door op het pictogram in het dock te klikken. Als u het pictogram niet kunt vinden, moet u wellicht uw Mac OS upgraden.
In de Mac App Store zoekt u gewoon op “Xcode” en klikt u op de knop “Get” om het programma te downloaden.
Als u het installatieproces hebt voltooid, vindt u Xcode in het Launchpad.
Op het moment van dit schrijven is de nieuwste versie van Xcode 12. In dit boek zullen we deze versie van Xcode gebruiken om de demo-apps te maken. Zelfs als u Xcode al eerder hebt geïnstalleerd, raad ik u aan te upgraden naar de nieuwste versie. Dit zou het gemakkelijker voor u moeten maken om de handleidingen te volgen.
4. Schrijf u in voor het Apple Developer Program (optioneel)
Een veelgestelde vraag over het ontwikkelen van een iOS-app is of u zich moet inschrijven voor het Apple Developer Program (https://developer.apple.com/programs/). Het korte antwoord is optioneel. Ten eerste bevat Xcode al een ingebouwde iPhone- en iPad-simulator. Je kunt je app op de Mac ontwikkelen en uitproberen, zonder je in te schrijven voor het programma.
Met ingang van Xcode 7 heeft Apple zijn beleid veranderd wat betreft de vereiste toestemmingen voor het bouwen en uitvoeren van apps op apparaten. Voorheen moest je 99 dollar per jaar betalen om je apps op een fysieke iPhone of iPad te mogen gebruiken. Nu is een programmalidmaatschap niet meer nodig. Iedereen kan zijn apps testen op een echt apparaat zonder zich in te schrijven voor het Apple Developer Program. Dat gezegd hebbende, als je sommige geavanceerde functies wilt uitproberen, zoals in-app aankopen, pushmeldingen of CloudKit, moet je nog steeds het programmalidmaatschap aanvragen. Het belangrijkste is dat je je app niet bij de App Store kunt indienen zonder de jaarlijkse lidmaatschapskosten te betalen.
Dus, moet je je nu inschrijven voor het programma? Het Apple Developer Program kost 99 dollar per jaar. Dat is niet veel geld, maar het is ook niet goedkoop. Aangezien je dit boek leest, ben je waarschijnlijk een nieuwkomer en net begonnen met het verkennen van iOS ontwikkeling. Het boek is geschreven voor beginners. We zullen eerst beginnen met iets eenvoudigs. Je gaat pas de geavanceerde functies aanboren als je de basisvaardigheden onder de knie hebt.
Dus, zelfs als je je niet inschrijft voor het programma, zul je nog steeds in staat zijn om het grootste deel van de inhoud te volgen om een app te bouwen en deze te testen op je apparaat. Voor nu, spaar je geld. Ik zal je laten weten wanneer je je moet inschrijven voor het programma. Op dat moment word je aangemoedigd om deel te nemen aan het programma als je klaar bent om de app in de App Store te publiceren!
De leeraanpak
Ik geef sinds 2012 les in iOS programmeren door middel van bloggen, online cursussen, en in-person workshops. Wat ik heb ontdekt is dat het de leeraanpak en de mindset zijn die het verschil maken tussen falen en slagen. Voordat we het gaan hebben over Swift en iOS programmeren, wil ik je uitrusten met de juiste mindset en begrijpen wat de meest effectieve manier is om te leren programmeren.
Get Your Hands Dirty
Een van de meest gestelde vragen over het leren coderen is:
Wat is de beste manier om iOS programmeren te leren?
Ten eerste, bedankt voor het lezen van dit boek. Helaas moet ik u vertellen dat u niet kunt leren programmeren door alleen boeken te lezen. Dit boek bevat alles wat je nodig hebt om Xcode, Swift en het ontwikkelen van iOS-apps te leren.
Maar het belangrijkste deel is actie ondernemen.
Als ik een antwoord op de vraag moet geven, zeg ik: “Leren door te doen”. Het is de kern van mijn onderwijsaanpak.
Laat ik de vraag een beetje veranderen:
Wat is de beste manier om Engels te leren (of andere vreemde talen)?
Wat is de beste manier om te leren fietsen (of een andere sport)?
Je weet het antwoord waarschijnlijk wel. Ik ben vooral gecharmeerd van dit antwoord op Quora over het leren van een nieuwe taal:
Volg deze routine: luister 1 uur per dag, spreek 1 uur per dag, publiceer 1 dagboekpost.
– Dario Mars Patible
Je leert door te oefenen, niet door alleen maar grammatica te studeren. Leren programmeren is enigszins vergelijkbaar met het leren van een taal. Je moet acties ondernemen. Je moet aan een project werken of wat oefeningen maken. Je moet voor je Mac gaan zitten, jezelf onderdompelen in Xcode, en de Swift code schrijven. Het maakt niet uit hoeveel fouten je maakt tijdens het proces. Vergeet alleen niet Xcode te openen en te coderen terwijl je dit boek leest.
Motivaties
Waarom wil je app-ontwikkeling leren? Wat motiveert je om de weekenden en vakanties op te offeren om te leren coderen?
Sommige mensen beginnen app-ontwikkeling te leren alleen vanwege het geld. Daar is niets mis mee. Misschien wilt u uw app-bedrijf opbouwen om wat bij te verdienen en er uiteindelijk een fulltime bedrijf van te maken. Dat is volkomen begrijpelijk. Wie wil er nou niet een rijk leven leiden?
In februari 2019 stonden er echter meer dan 2,2 miljoen apps in de App Store. Het is echt moeilijk om een app in de App Store te zetten en te verwachten dat je van de ene op de andere dag een lading geld gaat verdienen. Je zult snel ontmoedigd raken of zelfs opgeven als geld je belangrijkste reden is om apps te bouwen, vooral als je artikelen als deze tegenkomt:
- Hoe veel geld heb ik verdiend in de App Store (https://sitesforprofit.com/how-much-money-app-store)
Toen drong de realiteit door.
199 eenheden oud = US$209 aan verkopen = US$135 opbrengst (netto voor mij). Om de app in de app store te krijgen moest ik de $99 developer fee betalen.
Dus na 2 maanden en 1 week was mijn (voor belasting) winst $36.
– James
Programmeren is moeilijk en uitdagend. Ik vind dat mensen die de taal met succes beheersen, degenen zijn die een sterk verlangen hebben om apps te bouwen en enthousiast zijn om te leren programmeren. Ze hebben meestal een idee in hun hoofd en willen dat omzetten in een echte app. Geld verdienen is niet hun grootste zorg. Ze weten dat de app hun eigen problemen kan oplossen en nuttig zal zijn voor anderen. Met zo’n krachtig doel voor ogen, kunnen ze alle obstakels overwinnen.
Denk dus nog eens na waarom je wilt leren programmeren.
Vind een Buddy
“De beste manier om te leren is om te onderwijzen” is een oud gezegde. Het werkt echter nog steeds in de moderne wereld. Je hoeft geen expert te zijn om les te geven. Ik heb het niet over het geven van een lezing aan een universiteit of het onderwijzen van een groep studenten in een formeel college. Lesgeven gebeurt niet altijd op die manier. Het kan zo simpel zijn als het delen van je kennis met een collega of een klasgenoot die naast je zit.
Probeer iemand te vinden die ook geïnteresseerd is in het leren programmeren van iOS. Als je iets nieuws leert, probeer de stof dan uit te leggen aan je maatje. Bijvoorbeeld, na het bouwen van je eerste app, leer je je goede vriend hoe het werkt en hoe hij/zij ook een app kan maken.
Wat als je geen maatje kunt vinden om te delen wat je hebt geleerd? Geen zorgen. Begin een blog op medium.com (of welk platform je maar wilt), schrijf elke dag een blogpost, en documenteer alles wat je leert.
Dit is een van de meest effectieve manieren om te leren. Ik leer zo veel terwijl ik tutorials publiceer op appcoda.com, en ook terwijl ik mijn eerste boek ontwikkel.
Soms denk je dat je de materie goed kent. Maar zodra je het concept aan iemand anders moet uitleggen en vragen moet beantwoorden, is de kans groot dat je het materiaal niet grondig hebt begrepen. En dit zal je motiveren om de stof nog harder te bestuderen. Geef deze methode een kans terwijl je iOS programmeren leert.
Be Patient
Grit is passie en doorzettingsvermogen voor zeer lange termijn doelen. Grit is uithoudingsvermogen hebben. Grit is vasthouden aan je toekomst, dag in, dag uit. Niet alleen voor de week, niet alleen voor de maand, maar voor jaren. En heel hard werken om die toekomst waar te maken. Grit is leven alsof het een marathon is, geen sprint.
– Dr. Angela Lee Duckworth
Enkele van mijn studenten vroegen: “Hoe lang zou het duren om een goede ontwikkelaar te worden?”
Het kost tijd om programmeren onder de knie te krijgen en een goede ontwikkelaar te worden. Meestal duurt het jaren. Geen weken, geen maanden, maar jaren.
Dit boek zal je helpen de reis te beginnen. Je leert alle basisbeginselen van Swift en iOS programmeren en uiteindelijk bouw je een app. Dat gezegd hebbende, het kost tijd en veel oefening om een professionele programmeur te worden.
Ben geduldig. Stel je verwachtingen niet te hoog voor je eerste app. Geniet gewoon van het proces, maak iets eenvoudigs en leuks. Blijf dagelijks lezen en coderen. Uiteindelijk zul je de vaardigheid onder de knie krijgen.
Vind je app-idee
Ik moedig mijn leerlingen altijd aan om met hun eigen app-idee te komen als ze beginnen met het leren van app-ontwikkeling. Het idee hoeft niet groot te zijn. Je hoeft niet de volgende Uber app te bouwen of met een nieuw idee te komen om de wereld te veranderen. Je hoeft alleen maar te beginnen met een heel klein idee dat een probleem oplost.
Laat me je een paar voorbeelden geven.
Een klassiek voorbeeld dat ik al eerder noemde is Cockpit Dictionary. Het is een app gebouwd door Manolo Suarez, die piloot van beroep is. Hij had een app idee tijdens het leren van app programmeren. Het idee was niet fancy maar loste zijn eigen probleem op. Er zijn tienduizenden luchtvaarttermen in afgekorte vorm. Zelfs voor een ervaren piloot met meer dan 20 jaar luchtvaartervaring, is het onmogelijk om alle acroniemen en technische termen te onthouden. In plaats van een gedrukt woordenboek te gebruiken, bedacht hij om een handige app te bouwen waarmee piloten allerlei luchtvaarttermen kunnen opzoeken. Een simpel, maar geweldig idee om zijn eigen probleem op te lossen.
Een ander voorbeeld is de NOAA Buoy Data-app. Hoewel deze app niet meer beschikbaar is in de App Store, wil ik hem toch als voorbeeld aanhalen. De app is ontworpen om de meest recente weer-, wind- en golfgegevens op te halen van het National Data Buoy Center (NDBC) van de National Oceanic and Atmospheric Administration (NOAA). De app is ontwikkeld door Leo Kin, die op het idee kwam tijdens zijn herstel van een operatie.
“Na de operatie moest ik drie maanden lang een nekbrace dragen. Tijdens die drie maanden kon ik niet veel bewegen en had ik zelfs moeite met lopen of het optillen van mijn armen. Mijn fysiotherapeut raadde me aan zoveel mogelijk te gaan wandelen om beweging te krijgen en mijn geatrofieerde beenspieren weer op te bouwen.
Er is een eiland in de buurt van waar ik woonde waar ik heel graag naartoe liep. Het enige probleem was dat je er alleen bij eb kunt komen. En als het vloed werd, kon ik alleen zwemmend terug naar huis. Omdat ik lichamelijk erg verzwakt was, was ik erg bang om op het eiland vast te komen zitten zonder een weg terug. Tijdens het lopen keek ik altijd op de website van NOAA hoe hoog of laag het getij was en of ik genoeg tijd had om naar het eiland en terug te lopen.
Tijdens een van mijn wandelingen kwam het idee in me op om een app te bouwen. Zelfs als niemand anders de app gebruikt, zou dat niet uitmaken, want het zou me helpen de getijden bij te houden en op tijd terug te komen.”
– Leo Kin
Zijn app is misschien niet interessant voor jou, maar het loste een probleem op waarmee hij op dat moment werd geconfronteerd. Waarschijnlijk zouden mensen op dat eiland ook baat hebben bij zijn app.
Het hebben van een eigen app-idee geeft je een duidelijk doel en motiveert je om te blijven leren. Neem nu even de tijd en schrijf hieronder drie app-ideeën op:
Samenvatting
Dat is alles voor de inleiding. Neem de tijd om Xcode op je Mac te installeren, en bedenk je eigen app-idee. Ook al leer ik je niet precies dezelfde app te bouwen, je leert wel de coderingstechnieken die je in staat stellen je eigen app te bouwen.
Wanneer je doorgaat naar het volgende hoofdstuk, beginnen we met programmeren in Swift.
Doe je dus goed voor!