Modern
Swift är resultatet av den senaste forskningen om programmeringsspråk, kombinerat med decenniers erfarenhet av att bygga Apple-plattformar. Namngivna parametrar uttrycks i en ren syntax som gör API: er i Swift ännu enklare att läsa och underhålla. Ännu bättre, du behöver inte ens skriva halvkolon. Slutsatta typer gör koden renare och mindre benägna för misstag, medan moduler eliminerar rubriker och ger namnområden. För att bäst stödja internationella språk och emoji är strängar Unicode-korrekta och använder en UTF-8-baserad kodning för att optimera prestanda för en mängd olika användningsfall. Minne hanteras automatiskt med snäv, deterministisk referensräkning, vilket håller minnesanvändningen till ett minimum utan avfallssamlingen.
Förklara nya typer med modern, okomplicerad syntax. Ange standardvärden för instansegenskaper och definiera anpassade initialiserare.
Lägg till funktionalitet i befintliga typer med hjälp av tillägg och skär ned på pannplattan med anpassade stränginterpoleringar.
Utök snabbt dina anpassade typer för att ta fördel med kraftfulla språkfunktioner, som automatisk JSON-kodning och avkodning.
Utför kraftfulla anpassade omvandlingar med hjälp av strömlinjeformade stängningar.
Dessa framåtriktade koncept resulterar i ett språk som är roligt och enkelt att använda.
Swift har många andra funktioner för att göra din kod mer uttrycksfull:
- Generics som är kraftfulla och enkla att använda
- Protokolltillägg som gör det enklare att skriva generisk kod
- Förstklassiga funktioner och en lättviktssyntax
- Snabb och kortfattad iteration över ett intervall eller samling
- Tuples och flera returvärden
- Strängar som stöder metoder, tillägg och protokoll
- Enums kan ha nyttolast och matcha stödmönster
- Funktionella programmeringsmönster, t.ex. karta och filter
- Naturlig felhantering med try / catch / throw
Designad för säkerhet
Swift eliminerar hela klasser av osäker kod. Variabler initialiseras alltid före användning, matriser och heltal kontrolleras för överflöde, minne hanteras automatiskt och exekvering av exklusiv åtkomst till minnesvakter mot många programmeringsfel. Syntax är inställd för att göra det enkelt att definiera din avsikt – till exempel definierar enkla tre-tecken nyckelord en variabel (var) eller konstant (låt). Och Swift använder kraftigt värdetyper, särskilt för vanliga typer som Arrays och Dictionaries. Det betyder att när du gör en kopia av något med den typen vet du att det inte kommer att ändras någon annanstans.
En annan säkerhetsfunktion är att Swift-objekt som standard aldrig kan vara noll. Faktum är att Swift-kompilatorn hindrar dig från att försöka skapa eller använda ett nollobjekt med ett kompileringsfel. Detta gör att skriva kod mycket renare och säkrare och förhindrar en enorm kategori av runtime-krascher i dina appar. Det finns dock fall där noll är giltigt och lämpligt. För dessa situationer har Swift en innovativ funktion som kallas tillval. Ett valfritt kan innehålla inget, men Swift-syntax tvingar dig att hantera det säkert med hjälp av? syntax för att indikera för kompilatorn att du förstår beteendet och kommer att hantera det säkert.
Använd alternativ när du kanske har en instans att återvända från en funktion, eller inte.
Funktioner som valfri bindning, valfri kedjning och noll-sammanslagning kan du arbeta säkert och effektivt med valfria värden.
Snabb och kraftfull
Från sin tidigaste uppfattning byggdes Swift för att vara snabb. Med hjälp av den otroligt högpresterande LLVM-kompileringstekniken förvandlas Swift-koden till optimerad inbyggd kod som får ut det mesta av modern hårdvara. Syntaxen och standardbiblioteket har också ställts in för att göra det mest uppenbara sättet att skriva din kod också bäst oavsett om den körs i klockan på din handled eller över ett kluster av servrar.
Swift är en efterträdare till både C- och Objective-C-språken. Det innehåller primitiva lågnivåer som typer, flödeskontroll och operatörer. Det ger också objektorienterade funktioner som klasser, protokoll och generika, vilket ger utvecklare av Cocoa och Cocoa Touch den prestanda och kraft som de kräver.
Bra första språk
Swift kan öppna dörrar till kodningsvärlden. Det var faktiskt utformat för att vara någons första programmeringsspråk, oavsett om du fortfarande är i skolan eller utforskar nya karriärvägar. För lärare skapade Apple gratis läroplan för att lära Swift både i och utanför klassrummet. Första gången kodare kan ladda ner Swift Playgrounds – en app för iPad som gör att komma igång med Swift-kod interaktiv och rolig.
Blivande apputvecklare kan få gratiskurser för att lära sig att bygga sina första appar i Xcode.Och Apple Stores runt om i världen är värd idag på Apple Coding & Apps-sessioner där du kan få praktisk erfarenhet av Swift-kod.
Läs mer om Swift-utbildningsresurser från Apple
Källa och binär kompatibilitet
Med Swift 5 behöver du inte ändra någon av din Swift 4-kod för att använda den nya versionen av kompilatorn. Istället kan du börja använda den nya kompilatorn och migrera i din egen takt och dra nytta av nya Swift 5-funktioner, en modul i taget. Och Swift 5 introducerar nu binär kompatibilitet för appar. Det betyder att du inte längre behöver inkludera Swift-bibliotek i appar som riktar sig till nuvarande och framtida OS-utgåvor, eftersom Swift-biblioteken kommer att ingå i varje OS-utgåva framöver. Dina appar kommer att använda den senaste versionen av biblioteket i operativsystemet, och din kod fortsätter att köras utan att kompileras om. Detta gör inte bara att utveckla din app enklare, det minskar också storleken på din app och dess lanseringstid.
Öppen källkod
Swift utvecklas i det fria på Swift. org, med källkod, en bug tracker, forum och regelbundna utvecklingsbyggnader tillgängliga för alla. Denna breda grupp utvecklare, både inom Apple och hundratals externa bidragsgivare, arbetar tillsammans för att göra Swift ännu mer fantastiskt. Det finns ett ännu bredare utbud av bloggar, podcasts, konferenser och möten där utvecklare i samhället delar med sig av sina erfarenheter av hur man ska förverkliga Swifts stora potential.
Cross Platform
Swift stöder redan alla Apple-plattformar och Linux, med communitymedlemmar som aktivt arbetar för att porta till ännu fler plattformar. Med SourceKit-LSP arbetar samhället också för att integrera Swift-support i en mängd olika utvecklarverktyg. Vi är glada att se fler sätt på vilka Swift gör programvara säkrare och snabbare, samtidigt som det gör programmering roligare.
Swift for Server
Medan Swift driver många nya appar på Apple-plattformar , det används också för en ny klass av moderna serverapplikationer. Swift är perfekt för användning i serverappar som behöver runtime-säkerhet, kompilerad prestanda och ett litet minnesavtryck. För att styra riktningen för Swift för att utveckla och distribuera serverapplikationer bildade gruppen Swift Server-arbetsgruppen. Den första produkten av detta arbete var SwiftNIO, ett plattforms asynkron händelsestyrd nätverksapplikationsramverk för högpresterande protokollservrar och klienter. Det fungerar som grund för att bygga ytterligare serverorienterade verktyg och tekniker, inklusive loggning, mått och databasdrivrutiner som alla är i aktiv utveckling.
För att lära dig mer om Swift-communityn med öppen källkod och Swift Server-arbetet grupp, besök Swift.org
Playgrounds and Read-Eval-Print-Loop (REPL)
Precis som Swift Playgrounds för iPad, gör lekplatser i Xcode att skriva Swift-kod otroligt enkelt och roligt. Skriv en rad kod så visas resultatet omedelbart. Du kan sedan Snabbtitta resultatet från sidan av din kod eller fästa det resultatet direkt nedan. Resultatvyn kan visa grafik, resultatlistor eller diagram över ett värde. Du kan öppna tidslinjeassistenten för att se hur en komplex vy utvecklas och animeras, perfekt för att experimentera med ny UI-kod eller för att spela en animerad SpriteKit-scen när du kodar den. När du har perfekterat din kod på lekplatsen flyttar du bara den koden till ditt projekt. Swift är också interaktivt när du använder det i Terminal eller inom Xcodes LLDB-felsökningskonsol. Använd Swift-syntax för att utvärdera och interagera med din löpande app, eller skriv ny kod för att se hur den fungerar i en skriptliknande miljö.
Package Manager
Swift Package Manager är en enda plattformsverktyg för att bygga, köra, testa och packa dina Swift-bibliotek och körbara filer. Swift-paket är det bästa sättet att distribuera bibliotek och källkod till Swift-communityn. Konfiguration av paket skrivs i Swift själv, vilket gör det enkelt att konfigurera mål, deklarera produkter och hantera paketberoenden. Nytt för Swift 5, kommandot swift run innehåller nu möjligheten att importera bibliotek i en REPL utan att behöva bygga en körbar. Swift Package Manager själv är faktiskt byggt med Swift och ingår i Swift open source-projektet som ett paket.
Objective-C Interoperabilitet
Du kan skapa en helt ny applikation med Swift idag, eller börja använda Swift-koden för att implementera nya funktioner och funktioner i din app. Snabbkod existerar samtidigt längs dina befintliga Objective-C-filer i samma projekt, med full åtkomst till ditt Objective-C API, vilket gör det enkelt att anta.