Den komplette guiden til Swift 3.0
Alle de nye funksjonene i Apples programmeringsspråk og alt du trenger å vite om det å programmere i Swift.
Apple har sluppet den nyeste versjonen av Swift, programmeringsspråket som bruke til å lage macOS- og iOS-apper (og med mål for seg om å serve både Windows- og Linux-maskiner).
Swift 3.0 er nå tilgjengelig som del av Xcode 8 beta. Her er alt du trenger å vite om Swift-språket og dets nye funksjoner.
Swift 3.0
Swift 3.0 er den siste iterasjonen av Apples programmeringsspråk. De nye funksjonene i Swift ble avduket på Apples WWDC 2016-konferanse den 13. juni 2016.
I kjølvannet av WWDC-annonseringen har Swift 3.0 blitt gjort tilgjengelig for utviklere. Swift 3.0 Preview 1 er tilgjengelig som del av Apples Xcode 8.0 beta.
Den gode nyheten er at alle kan få tak i Xcode 8.0 beta, for den er ikke låst til utviklere med en betalt Apple Developer Program-konto (til forskjell fra de tidlige betaene av iOS og macOS).
I denne artikkelen, vår komplette guide til Swift generelt og Swift 3.0 spesielt, ser vi på alle de nye funksjonene og forklarer alt du trenger å vite om Apples Swift-programmeringsspråk.
Komplett guide til Swift 3.0: Nye funksjoner
Boken Swift Programming Language (Swift 3 beta) tegner omrisset av de fleste av de nye funksjonene som er implementert i Swift. Mot slutten av boken finnes Document Revision History, som tjener som en flott guide til de nye funksjonene som er implementert i Swift 3.0.
Her er noen nye funksjoner som implementert i Swift 3.0 som dokumentert i revisjonshistorikken:
- Alle funksjons-parametre har labels (etiketter) som default
- Attributt-argumenter bruker et kolon
- Swift-cases med mangfoldige mønstre (multiple patterns) har ny funksjonalitet
- Line control statements bruker syntaksen #sourceLocation(file:line)
Closures som er non-escaping og Autoclosures er ny type-attributter snarere enn deklarasjons-attributter.
Parenteser er nå en nødvendighet rundt parameter-typer i funksjoner.
Du kan oppdage mer om de nye funksjonene i Swift 3.0 ved å lese The Swift Programming Language (Swift 3 beta) eller ved å navigere til migrasjons-guiden hos Swift.org.
Porting til Windows og Linux
En vesentlig implementering vi kommer til å se med Swift 3.0 er porting av Swift til andre operativsystemer. Ifølge Apples Swift Evolution-side på GitHub har Swift-teamet som intensjon «å gjøre Swift tilgjengelig på andre plattformer og sikre at man kan skrive portabel Swift-kode som virker korrekt på alle disse plattformene».
At Swift kommer til Linux, og kanskje også Windows, er ingen hemmelighet. Så snart Apple gjorde Swift tilgjengelig som åpen kildekode var potensialet der til å porte språket til andre operativsystemer.
Craig Federighi, Apples programvare-direktør (Senior Vice President of Software Engineering), sa:
- Vi er åpne for at fellesskapet lager en Windows-port, og det finnes et godt grunnlag for dette i og med at LLVM og Clang-miljøene som er fundamenter for å bygge og kompilere Swift, er portet til Windows. Vi støtter fullt ut fellesskapet som lager porten. I forhold til vårt arbeid med å få open source-prosjektet til å ta av så ønsket vi å fokusere vår energi på våre plattformer og Linux til å begynne med.
Det virker visselig som at det å bringe Swift til andre plattformer kommer til å bli en del av WWDC: Helt sikkert Linux, og muligens også Windows. Microsoft på sin side har brakt Ubuntu Linux inn i Windows 10, så vi ser en viss konvergens for utviklere på alle plattformer.
Igjen – vi burde merke oss at Swift på Linux og Windows ikke er det samme som å ha Xcode og Apple SDK (software development kit) tilgjengelig. Du vil ikke være i stand til å utvikle macOS- og iOS-apper.
Nye funksjoner i Swift 3.0: Velkommen til Google
I mellomtiden har vi hørt rykter om at Google forbereder seg til å droppe sitt Java-baserte programmeringsspråk for Android til fordel for Swift (delvis for å komme rundt de økende juridiske problemene som Google har med Oracle, som eier Java).
Det ville være en modig skritt, og selv om det synes underlig for bitre rivaler som Google og Apple å dele et base-språk, ville det være et skritt som utviklere ville ønske velkommen. Ifølge en StackOverflow-undersøkelse av 2015 er Swift det «mest elskede» programmeringsspråket.
Det gir på mange måter mening for Apple og Google å fokusere på å promotere ett underliggende kodespråk for deretter å arbeide med å utvikle sine styrker innenfor dette.
Hvorvidt Google blir med i Swift-festen er opp til dem, men det vil vise seg i løpet av WWDC 2016 på den ene eller andre måten.
Swift 3.0 på WWDC 2016: Nye funksjoner
Ser vi på release-notatene for Swift 3.0 så ser vi også noen ting som Swift-teamet ser på. Her er noen høydepunkter:
- Stabilisere det binære interfacet (ABI). Swift-teamet ser på det å skape et mer stabilt ABI som tillater Swift å interagere med ulike typer datamaskiner på binær-nivået. Igjen - dette peker mot at Swift portes til ulike datamaskiner.
- Komplette generics. Swift bruker generics (algoritmer som instansieres ved behov) gjennom hele sitt bibliotek, og Swift 3.0 vil fullt ut støtte denne implementeringen.
- Opprenskning av type-systemet og dokumentasjon. Swift 3.0 vil “på nytt gjennomgå og dokumentere de ulike subtyping og konversjons-regler i type-systemet, i tillegg til deres implementering i kompilerens type-sjekker”.
- Fokus og raffinering av språket. Det finnes få detaljer som forklarer hvordan, men Evolution Document bemerker at: ”Swifts hurtige utvikling har betydd at det har akkumulert noen språk-egenskaper og biblioteks-API som ikke samsvarer med språket som helhet på en god måte. Seift 3 vil fjerne eller forbedre disse egenskapene for å tilby bedre og mer helhetlig konsistens for Swift."
- API retningslinjer. Swift 3.0 vil forsørge nye design-retingslinjer for utviklere som bygger API’er.
Et avsnitt som er markert som out-of-scope angir detaljer for hva Swift 3.0 ikke vil gjøre i fremtiden: Det vil ikke ekspanderes med C++ interoperabilitet, slik at C++ utviklere ikke vil være istand til integrere sin kode på samme måte som de som designer Objective C-kode.
Ifølge dokumentet: "API’er. Interoperabilitet med C++ biblioteker ville forsterke Swifts mulighet til å arbeide med eksisterende biblioteker og API’er. På den annen side er C++ i seg selv et veldig komplekst språk, og det å tilby god interoperabilitet med C++ er et betydelig foretak som er utenfor rekkevidde for Swift 3.0”.
Komplett guide til Swift 3.0: Hvordan laste ned og installere Xcode 8 beta
For å eksperimentere med de nye funksjonene som finnes i Swift 3.0 så trenger du å laste ned og installere Xcode 8 IDE (Integrated Developer Environment). Slik installerer du Xcode 8 beta på din Mac:
- Åpne Safari og gå til developer.apple.com
- Klikk Account og angi din Apple ID og passord. Klikk Sign In.
- Velg “By checking this box I confirm that I have read and agree to be bound by the Agreement above. I also confirm that I am of the legal age of majority in the jurisdiction in which I reside (at least 18 years of age in many countries)” (eller tilsvarende) og klikk Submit.
- Klikk Download Tools
- Klikk Download Xcode 8 beta. Filen blir lagret til din Downloads / Nedlastings-mappe.
- Dobbelt-klikk filen Xcode_8_beta.xip. XIP-filer er som ZIP-filer, men de er sjekket for sin integritet mot en sjekk-sum før ekspansjon. For oss tok det rundt fem minutter å pakker ut filen.
- Dra Xcode-beta filen til mappen med programmer / Applications. Dobbel-klikk ikonet for å åpne. OS X vil igjen verifisere filen før den åpnes. Klikk Open / Åpne når denne sjekken er avsluttet.
- Klikk Agree / Enig i lisens-vinduet for Xcode og iOS SDK License Agreement.
- Angi ditt admin-passord og klikk OK. (Dersom en melding vises som sier at programmer som Xcode og iTunes først må avsluttes så klikk Quit All).
Nå som du har Xcode 8 installert kan du starte med å teste ut programmering med Swift 3.0. Klikk Get Started With a Playground eller Create a New Xcode Project.
Komplett guide til Swift 3.0: Boken The Swift Programming Language
Siste ord om referanser for Swift er Apples bok The Swift Programming Language. Nyeste versjon The Swift Programming Language (Swift 3 beta) er tilgjengelig på iBook Store her. Alternativt kan du laste ned en ePub ebok fra swift.org.
Dette er en oversettelse av en artikkel som opprinnelig ble publisert i Macworld UK før WWDC 2016, og er skrevet av Lucy Hattersley.