Apputveckling med UIKit

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 iPhoneiPad 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


© Copyright 2021 HB Bohel Smådatorprodukter. Alla rättigheter reserverade. Alla varumärken och registrerade varumärken tillhör respektive ägare.