Apple lanserade Swift 3, den senaste versionen av sitt fortfarande unga programmeringsspråk, på WWDC 2016. Swift 3 är den första stora uppdateringen sedan Apple meddelade att Swift blir öppen källkod, och är fullpackad med nya funktioner som har utvecklats med förslag och bidrag från allmänheten.

Swift 3 används för att skriva koden till program för OS X (Mac OS) och IOS. Apple har designat Swift för att ge optimal prestanda på företagets olika maskiner, och Swift 3 bygger vidare på språkets redan imponerande funktionalitet.

Swift

Nyheter i Swift 3 – bredare och utvecklat i gemenskap

”Swift släpptes som öppen källkod för bara sex månader sedan,” säger Apples chef för programmeringsspråk, Ted Kremenek. ”En viktig del av att göra det var att inte bara dumpa en massa källkod på Github, utan att bygga en öppen gemenskap som driver Swifts evolution framöver. Swift 3 är den första uppdateringen som är tänkt som en produkt av den gemenskapen.”

En annan viktig aspekt är att Swift inte längre är begränsat till IOS och OS X. Sedan det blev källkod har en version för Linux dykt upp. Det är öppnat för serverprogrammering i Swift, liksom för program för slutanvändare.

– Dagens mjukvaruekosystem har en stor mångfald. Oavsett om du jobbar med servrar eller appar – vi vill att Swift ska vara för alla. Det här är den första uppdateringen sedan Swift portades till Linux.

Grundfunktioner

Något som kan förvåna utvecklare som redan har jobbat med Swift 2 (eller 1) är hur mycket språket förändras i Swift 3. Kremenek säger att en viktig del av Swift 3 har varit att lägga de grundläggande bitarna på plats ordentligt för att sedan bygga vidare därifrån.

Chris Lattner, Apples chef för utvecklingsverktyg och den som lade grunden till Swift, håller med:

– Vi vill göra den grundläggande upplevelsen av Swift perfekt. Det är ett stort problem. Det handlar inte bara om huruvida vi ska använda komman eller kolon. Det handlar om kompatibilitet. Så vi gör allt vi kan för att ge Swift en form vi sedan kan leva med för alltid.

Api-förändringar

Här är några av nyheterna

  • Använda api:er. Den största förändringen är i api-språket. Att använda Apples olika api:er är en väsentlig del av att bygga mjukvara i Swift (och alla andra moderna språk). Apple har gjort radikala förändringar i sina api:er för att fokusera på tydlighet. Du kan läsa mer om Apples regler för api:er på Swift.org.
  • Playground. Xcode 8 har stöd för att ladda ner och använda de senaste uppdateringarna av Swift direkt i Playgrounds. Du kan ladda ner och testa nya api:er och annat utan att ens behöva starta om Xcode.
  • Parameter-namnsättning. Swift 2 hade samma filosofi som Objective-C men eftersom api:erna har ändrats så mycket i Swift 3 har även parameternamnsättningen ändrats.
  • Generics – funktioner som kan ta parametrar av olika typer så att du slipper ha en funktion för varje typ – har också ändrats.
  • Varningar. Om du har oanvända resultat i en funktion får du numera en varning. Om det var med flit kan du dölja den.

Apple har också tagit bort en del funktioner som fanns i tidigare versioner. Här är några exempel (länkar går till förslaget och förklaringen, för den som vill veta mer):

Funktioner med currying, en teknik som går ut på att ersätta funktioner med flera invärden med en serie funktioner med precis ett invärde var.
Beteckningen var i paramterlistor.
Operatorerna ++ och --.
For-loopar i c-stil.
Möjligheten att paketera funktionsparametrar i listor.

Xcode 8