Programmera i Swift™

Programmeringsutbildning i Swift.

  • Kursid
  • Kursavgift Enligt offert
  • Omfattning 4 dagar

Programmera i Swift

Kursen ger en solid grund att stå på för alla som ska arbeta med programmering i Swift. Kursen omfattar merparten av språket Swift samt centrala delar av Swifts standardbibliotek. Kursen tar endast upp de delar av biblioteken som är generella för all utveckling i Swift (modulerna Swift och Foundation), och inte de plattformsspecifika tilläggsbiblioteken. Kursen tar alltså inte upp apputveckling för iOS eller utveckling av applikationer för macOS, men är däremot ett lämpligt gemensamt första steg för dem som efter kursen vill utbilda sig inom något av dessa områden, t ex via kursen Apputveckling för iOS. Kursen bygger på version 3.1 av Swift.

Kursens teoripass varvas med praktiska övningar i programspråket Swift och dess standardbibliotek. Vi utnyttjar verktyget Xcode, där interaktiva playground-filer används i de inledande momenten, medan övningar i senare kapitel byggs som projekt i Xcode.  Vi visar också hur man utför enhetstester med testramverket XCTest.

Efter kursens teoriavsnitt och omfattande praktiska övningar…

  • kan du använda programspråket Swift
  • känner du till centrala delar av Swifts standardbibliotek
  • kan du utföra enhetstester med testramverket XCTest

Vad är Swift?

Swift är ett objektorienterat programspråk framtaget av Apple för utveckling för deras plattformar macOS (Macintosh-datorer), iOS (iPhone, iPad och iPod touch), watchOS (Apple Watch) samt tvOS (Apple TV). Swift bygger på öppen källkod och är även tillgängligt för utveckling för operativsystemet Linux. Språket lanserades 2014 och uppdaterades i mars 2017 till version 3.1. Utvecklare har tillgång till ett standardbibliotek som är gemensamt vid utveckling för samtliga plattformar. Detta standardbibliotek bygger också på öppen källkod. Därutöver finns separata tilläggsbibliotek som är specifika för utveckling för macOS, iOS, watchOS resp tvOS.

Målgrupp & Förkunskaper

Du …

  • är själv en systemutvecklare eller har en roll där du ska leda eller samarbeta med systemutvecklare
  • vill lära dig programspråket Swift från grunden
  • har grundläggande kunskaper om det objektorienterade synsättet och viktiga termer inom objektorientering
  • har någon tidigare erfarenhet av programmering, men inte nödvändigtvis i ett objektorienterat programspråk

Kursmaterial

Du får en kurspärm bestående av de bilder som visas under kursen, en berättande text som följer presentationen (kan användas som minnesstöd under kursen och för repetition efter kursen), underlag för övningar, ordlista och en referenslista.

Illustrationsexempel och lösningsförslag tillhandahålls på USB-minne.

Kursmaterialet är utvecklat i Sverige och helt på svenska.

Kursinnehåll

  • Programspråket Swift

    Variabler, konstanter och typinferens
    Namnsättningsregler
    Operatorer och typomvandling
    Kommentarer
    Styrstrukturer
    Värden som kan saknas (optionals)
    Sammansatta värden (tuples)
    Funktioner och funktionstyper
    Externa och lokala argumentnamn
    Lambdauttryck (closures)
    Uppräknade datatyper
    Poster och posttyper
    Lagrade och beräknade egenskaper
    Instans- och typegenskaper
    Nästlade typer
    Värdetyper kontra referenstyper
    Objekt och klasser
    Meddelanden och metoder
    Initieringsmetoder
    Åtkomstnivåer
    Självreferens (egenskapen self)
    Arv och dynamisk bindning
    Utbyggnad av typer (extensions)
    Gränssnitt (protocols)
    Automatisk referensräkning (ARC)
    Svaga objektreferenser
    Att välja mellan posttyper och klasser
    Språkunderstödd felhantering

  • Swifts standardbibliotek

    Grundläggande datatyper
    Texthantering (String)
    Datastrukturer (Array, Set, Dictionary)
    Typerna Any och AnyObject
    Stöd för jämförelseoperatorer
    Stöd för kopiering (NSCopying)
    Utskrifter i kommandoskalet
    Kommandoradsargument
    Matematiska konstanter och funktioner
    Bitvektorer (OptionSet)
    Nationell formatering av värden
    Nationellt korrekt sortering
    Hantering av datum och klockslag
    Hantering av textfiler
    Flertrådad exekvering (DispatchQueue)
    Tidsstyrd exekvering (Timer)

  • Utvecklingsverktyget Xcode

    Interaktiva playground-filer
    Att arbeta med projekt
    Enhetstester med ramverket XCTest