5 dagar
Om kursen
Kursen riktar sig till alla som vill komma igång med apputveckling för plattformen iOS via ramverket UIKit, som är gemensamt för Apples mobila produktserier iPhone, iPad och iPod touch. Kursen förutsätter tidigare programmeringsvana och kunskaper om programspråket Swift motsvarande kursen Programmera i Swift.
Apputveckling för iOS är ett stort och ständigt växande område, som inte kan presenteras fullständigt i en enda kurs. Kursen förklarar de centrala delarna i arkitekturen och lägger tonvikt på viktiga designprinciper och programmeringsregler. Vi bygger en serie appar, dels med en enda vy som kan presentera text, bilder, formulär och listvyer (table views), dels appar med växling mellan olika vyer via t ex navigationslister. Stor tonvikt läggs vid hur layouter görs för att anpassa en app till olika storlekar på apparatens bildskärm, och hur vi stödjer beteenden som skiljer mellan iPhone och iPad i en och samma app. Vi visar också hur appar kan lagra data i det lokala filsystemet, hur en app kan utnyttja webbtjänster tillgängliga via Internet, hur texter och formaterade värden i en app kan anpassas till olika språk som t ex svenska och engelska, samt hur man kan automatisera testning av användargränssnitt med hjälp av ramverket XCUITest. Centrala delar av biblioteket Cocoa Touch presenteras. Kursen bygger på iOS 13 och Swift 5.1.
Kursens teoripass varvas med praktiska övningar i apputveckling. Vi utnyttjar Apples verktyg Xcode, där apputveckling utförs i projekt där användargränssnitt byggs med Interface Builder, koden för appens funktionalitet skrivs i programspråket Swift och testas i Apples simulator.
Innehåll
Att utveckla för iOS
- Att leva med begränsade resurser
- Restriktioner för tillgång till omvärlden
- En annnorlunda värld av maskinvara
- Reglerad distribution av applikationer
- Ramverket UIKit
Xcode och Interface Builder
- Projektstrukturen i Xcode
- Vikten av att välja målplattform
- Nib-filer och storyboard-filer
- Design av en enkel skärmlayout
- Att bygga och testa en app i simulatorn
Autolayout och storleksklasser
- Autolayout och layoutregler
- Regler för avstånd, storlek och justering
- Stöd för rotation av appen
- Att lösa konflikter med prioriteter
- Separata layouter per storleksklass
MVC-arkitekturen
- Designprincipen MVC
- En standardiserade objektmodell för en app
- Ansvarsfördelning inom arkitekturen
- Att reagera på händelser
- Outlet- och Action-kopplingar
- Att placera kod för initiering rätt
Bilder, textfält och dialoger
- Att ta med bilder och ikoner i en app
- Att hantera textfält
- Skärmtangentbordet
- Att känna igen gester
- Åtgärds- och meddelandedialoger
- Åtgärdsdialoger på iPad
Listvyer (table views)
- Att skapa vyer med listrader
- Initering från egenskapsfiler
- Designprincipen delegering
- Sektioner, sökindex och sökfält
- Borttag och tillägg i listvyer
Appar som växlar mellan flera vyer
- Växling mellan vyer (segues)
- Flikvyer (tab views)
- Navigationsvyer
- Stora huvudrubriker fr o m iOS 11
- Delade vyer (split views)
- Integration av bildväljare
- Att underlätta underhåll via gränssnitt
Lagring
- Appens lokala filsystem
- Lagring i seriellt format (archiving)
Nationell anpassning
- Språkområden (locales)
- Resursfiler
- Att visa text på användarens eget språk
- Att formatera och tolka belopp korrekt
- Nationellt korrekt alfabetisk sortering
- Nationellt beroende egenskapsfiler
Webbtjänster (web services)
- Introduktion till webbtjänster
- Att utnyttja webbtjänster via Internet
Test av användargränssnitt
- Testramverket XCUITest
- Automatiserad testning
- Verifiering och rapportering av resultat
- Att ta skärmbilder under testning
Mål
- Du ska känna till centrala delar av applikationsarkitekturen i iOS.
- Du ska känna till centrala delar av biblioteket Cocoa Touch.
- Du ska kunna använda verktyget Xcode för att bygga och testa appar.
Målgrupp
Systemutvecklare som vill lära sig apputveckling för iOS från grunden.
Förkunskaper
Kunskaper om programspråket Swift motsvarande kursen Programmera i Swift.
Beskrivning
Kursen omfattar apputveckling för iOS, centrala delar av biblioteket Cocoa Touch och testramverket XCUITest. Teori varvas med praktiska övningar i täta pass.
Kursmaterial
- Egenproducerad kurspärm (vi tillhandahåller ett provavsnitt)
- USB-minne eller CD-skiva med samtliga illustrationsexempel och lösningsförslag till samtliga övningar
Kurslängd
Fem dagar