Kom igång med IOS-utveckling

Att utveckla en egen IOS-app är en utmaning som tilltalar många. I den här artikelserien kommer 99mac att visa dig hur det går till. Serien förutsätter en viss programmeringsvana, men ingen erfarenhet av apputveckling för mobila plattformar.

Den här serien är inte tänkt att vara en heltäckande kurs som gör dig till en fullärd #apputvecklare, utan mer en fingervisning om vilka steg som behöver utföras från idé till publicerad app. Sedan får du som läsare fördjupa dig på egen hand där du känner att det behövs.

Språk och miljö

Fram till 2014 utvecklades alla IOS-appar i språket Objective-C. Det är i grunden baserat på C, med ett tunt lager av objektorientering ovanpå. Objective-C har fått utstå en del kritik för att vara omodernt och tungrott, så under WWDC 2014 presenterade Apple överraskande sitt egenutvecklade språk Swift, som på sikt kommer att ersätta Objective-C helt. I den här artikelserien kommer jag därför att fokusera på Swift.

Swift är, liksom Objective-C, ett objektorienterat språk.

Utvecklingsmiljön Xcode är ett krav för att skriva IOS-appar. Eftersom Xcode i skrivande stund bara finns till OS X så är det även Mac som gäller. Det går att använda en annan IDE eller rent av en annan dator för att skriva koden, men för att kompilera och testa den krävs ändå Xcode.

Xcode finns att ladda ner gratis från Mac App Store.

Namn
Xcode
Plattform
OS X
Utvecklare
iTunes S.a.r.l.
Version
6.3.1
Pris
Gratis
Krav
OS X 10.10 eller senare
Språk
Engelska

Playground

Xcode kommer med ett verktyg som kallas Playground. Det är ett väldigt enkelt sätt att experimentera (eller "leka" om du så vill) med Swift-kod. All kod du skriver i kodfönstret kompileras och körs i realtid, och resultatet för varje kodrad syns i sidofönstret. Ändrar du ett värde i koden så uppdateras resultatet direkt.

Fördelen med Playground är att man slipper kompilera och köra en hel app bara för att utvärdera enskilda kodrader. Medan man lär sig språket kan man skriva i Playground och få omedelbar feedback på om det är korrekt skrivet eller ej. Under utvecklingens gång kan man exempelvis utvärdera algoritmer i Playground och sedan kopiera över dem till appen när man är nöjd.

För att öppna en Playground, starta Xcode och välj "Get started with a playground" i uppstartsdialogen.

Ramverk och mönster

För att underlätta för utvecklaren tillhandahåller Apple ramverket Cocoa Touch. Där finns färdiga klasser och funktioner för att enkelt skapa grafiska element, ta hand om input från användaren, hämta data från internet, och en massa andra användbara saker. Poängen är att du som utvecklare ska kunna fokusera på de saker som är specifika för din app.

För att underlätta strukturering av kod används vedertagna designmönster [eng. Design Patterns]. På UI-nivå är ramverket konstruerat för ett MVC-mönster (Model-View-Controller). I detta designmönster är "modellen" appens datakälla, exempelvis en databas. "View" är det som rent grafiskt visas för användaren, där data från ”modellen” presenteras. I "Controllern" bor appens logik som knyter ihop datakällan och presentationen av den.

Både på UI-nivå och andra nivåer används Delegation-mönstret flitigt, exempelvis för callbacks vid asynkrona funktionsanrop, men även för att uppmuntra modulär kod överlag.

Om du inte känner till ovan nämnda designmönster så rekommenderar jag att du bekantar dig med dem. Då blir det mycket lättare att förstå varför man förväntas strukturera kod på ett visst sätt. Nyttiga länkar finns i slutet av denna artikel.

Det här behöver du

Xcode är ett kraftfullt program, men kräver ändå inte den nyaste hårdvaran. Den Mac du använder idag klarar förmodligen att köra Xcode om den även klarar andra moderna program. I vilket fall som helst är Xcode gratis att ladda ner, så du förlorar ingenting på att prova.

Om du inte har en Mac idag men vill testa IOS-utveckling så kan en begagnad Mac Mini från 2010 och framåt vara ett bra val om du vill hålla nere kostnaden. I den är det lätt att uppgradera primärminnet vid behov.

I Xcode finns en simulator för att testa appar under utveckling. För att testa din app på en fysisk Iphone eller Ipad krävs ett betalt medlemsskap i Apples IOS-utvecklarprogram. Mer om det i nästa del.

Du bör ha viss programmeringsvana, gärna inom objektorienterad programmering. Swift är sannolikt nytt för dig oavsett, så vilka språk du har pysslat med innan har inte jättestor betydelse. Vana att läsa teknisk dokumentation på engelska skadar inte, då det mesta av Apples officiella dokumentation är riktad till erfarna utvecklare.

Tips!

Swift är ett språk under utveckling. Håll koll på förändringar över tid och uppdatera dina appar löpande.