Modern
Swift is het resultaat van het laatste onderzoek naar programmeertalen, gecombineerd met tientallen jaren ervaring met het bouwen van Apple-platforms. Benoemde parameters worden uitgedrukt in een schone syntaxis waardoor APIs in Swift nog gemakkelijker te lezen en te onderhouden zijn. Nog beter, u hoeft niet eens puntkommas te typen. Afgeleide typen maken code schoner en minder vatbaar voor fouten, terwijl modules kopteksten elimineren en naamruimten bieden. Om internationale talen en emoji zo goed mogelijk te ondersteunen, zijn strings Unicode-correct en gebruiken ze een op UTF-8 gebaseerde codering om de prestaties te optimaliseren voor een breed scala aan gebruikssituaties. Geheugen wordt automatisch beheerd met behulp van strakke, deterministische referentietellingen, waardoor het geheugengebruik tot een minimum wordt beperkt zonder de overhead van garbagecollection.
Declareer nieuwe typen met moderne, ongecompliceerde syntaxis. Geef standaardwaarden op voor instantie-eigenschappen en definieer aangepaste initialisatieprogrammas.
Voeg functionaliteit toe aan bestaande typen met behulp van extensies, en verminder standaardwaarden met aangepaste tekenreeksinterpolaties.
Breid uw aangepaste typen snel uit om te gebruiken voordeel van krachtige taalfuncties, zoals automatische JSON-codering en decodering.
Voer krachtige aangepaste transformaties uit met behulp van gestroomlijnde sluitingen.
Deze vooruitstrevende concepten resulteren in een taal die leuk en gemakkelijk is te gebruiken.
Swift heeft vele andere functies om uw code expressiever te maken:
- Generics die krachtig en eenvoudig te gebruiken zijn
- Protocolextensies die maak het schrijven van generieke code nog eenvoudiger
- Eersteklas functies en een lichtgewicht sluitingssyntaxis
- Snelle en beknopte iteratie over een bereik of verzameling
- Tupels en meerdere retourwaarden
- Structuren die methoden, extensies en protocollen ondersteunen
- Enums kunnen payloads hebben en patroonovereenkomst ondersteunen
- Functionele programmeerpatronen, bijv. map en filter
- Eigen foutafhandeling met try / catch / throw
Ontworpen voor veiligheid
Swift elimineert hele klassen onveilige code. Variabelen worden altijd voor gebruik geïnitialiseerd, arrays en gehele getallen worden gecontroleerd op overflow, het geheugen wordt automatisch beheerd en het afdwingen van exclusieve toegang tot geheugen beschermt tegen veel programmeerfouten. Syntaxis is afgestemd om het gemakkelijk te maken om uw intentie te definiëren – eenvoudige sleutelwoorden van drie tekens definiëren bijvoorbeeld een variabele (var) of constante (let). En Swift maakt sterk gebruik van waardetypen, vooral voor veelgebruikte typen zoals arrays en woordenboeken. Dit betekent dat wanneer je een kopie maakt van iets met dat type, je weet dat het nergens anders zal worden gewijzigd.
Een ander veiligheidskenmerk is dat Swift-objecten standaard nooit nul kunnen zijn. In feite zal de Swift-compiler u ervan weerhouden om een nul-object met een compilatietijdfout te maken of te gebruiken. Dit maakt het schrijven van code veel schoner en veiliger en voorkomt een enorme categorie runtime-crashes in uw apps. Er zijn echter gevallen waarin nul geldig en gepast is. Voor deze situaties heeft Swift een innovatieve functie die bekend staat als optionals. Een optie kan nihil bevatten, maar de Swift-syntaxis dwingt u om er veilig mee om te gaan met de? syntaxis om aan de compiler aan te geven dat u het gedrag begrijpt en er veilig mee omgaat.
Gebruik optionals wanneer u een instantie heeft om van een functie terug te keren, of misschien niet.
Features zoals optionele binding, optionele chaining en nulcoalescing laten u veilig en efficiënt werken met optionele waarden.
Snel en krachtig
Vanaf het allereerste begin is Swift gebouwd om snel te zijn. Met behulp van de ongelooflijk krachtige LLVM-compilertechnologie wordt Swift-code omgezet in geoptimaliseerde native code die het meeste uit moderne hardware haalt. De syntaxis en standaardbibliotheek zijn ook aangepast om ervoor te zorgen dat de meest voor de hand liggende manier om uw code te schrijven ook het beste presteert, of deze nu in het horloge om uw pols draait of op een cluster van servers.
Swift is een opvolger voor zowel de C- als de Objective-C-taal. Het omvat primitieven op laag niveau, zoals typen, stroomregeling en operators. Het biedt ook objectgeoriënteerde functies zoals klassen, protocollen en generieke geneesmiddelen, waardoor ontwikkelaars van Cocoa en Cocoa Touch de prestaties en kracht krijgen die ze nodig hebben.
Geweldige eerste taal
Swift kan deuren openen naar de wereld van codering. Het is zelfs ontworpen om iemands eerste programmeertaal te zijn, of je nu nog op school zit of nieuwe carrièrepaden verkent. Voor docenten heeft Apple een gratis curriculum gemaakt om Swift zowel binnen als buiten de klas les te geven. Nieuwe codeurs kunnen Swift Playgrounds downloaden, een app voor iPad die het starten met Swift-code interactief en leuk maakt.
Aspirant-app-ontwikkelaars hebben toegang tot gratis cursussen om te leren hoe ze hun eerste apps in Xcode kunnen bouwen.En Apple Stores over de hele wereld hosten Today at Apple Coding & Apps-sessies waar je praktijkervaring kunt opdoen met Swift-code.
Meer informatie over Swift-onderwijsbronnen van Apple
Bron- en binaire compatibiliteit
Met Swift 5 hoeft u niets van uw Swift 4-code te wijzigen om de nieuwe versie van de compiler te gebruiken. In plaats daarvan kunt u de nieuwe compiler gaan gebruiken en in uw eigen tempo migreren, waarbij u profiteert van nieuwe Swift 5-functies, module voor module. En Swift 5 introduceert nu binaire compatibiliteit voor apps. Dat betekent dat u Swift-bibliotheken niet langer hoeft op te nemen in apps die gericht zijn op huidige en toekomstige OS-releases, omdat de Swift-bibliotheken in elke toekomstige OS-release worden opgenomen. Uw apps maken gebruik van de nieuwste versie van de bibliotheek in het besturingssysteem en uw code blijft werken zonder opnieuw te compileren. Dit maakt het ontwikkelen van uw app niet alleen eenvoudiger, het verkleint ook de grootte van uw app en de starttijd.
Open Source
Swift wordt bij Swift in het openbaar ontwikkeld. org, met broncode, een bug-tracker, forums en regelmatige ontwikkelversies die voor iedereen beschikbaar zijn. Deze brede gemeenschap van ontwikkelaars, zowel binnen Apple als honderden externe bijdragers, werkt samen om Swift nog verbazingwekkender te maken. Er is een nog breder scala aan blogs, podcasts, conferenties en bijeenkomsten waar ontwikkelaars in de gemeenschap hun ervaringen delen over hoe ze het grote potentieel van Swift kunnen realiseren.
Platformoverschrijdend
Swift ondersteunt al alle Apple-platforms en Linux, waarbij communityleden actief werken om naar nog meer platforms te porten. Met SourceKit-LSP werkt de gemeenschap ook aan de integratie van Swift-ondersteuning in een breed scala aan ontwikkelaarstools. We zijn verheugd om meer manieren te zien waarop Swift software veiliger en sneller maakt en tegelijkertijd programmeren leuker maakt.
Swift voor server
Terwijl Swift veel nieuwe apps op Apple-platforms ondersteunt , wordt het ook gebruikt voor een nieuwe klasse van moderne servertoepassingen. Swift is perfect voor gebruik in server-apps die runtime-veiligheid, gecompileerde prestaties en een kleine geheugenvoetafdruk nodig hebben. Om de richting van Swift te sturen voor het ontwikkelen en implementeren van servertoepassingen, vormde de gemeenschap de Swift Server-werkgroep. Het eerste product van deze inspanning was SwiftNIO, een platformonafhankelijk asynchroon, gebeurtenisgestuurd netwerkapplicatieframework voor hoogwaardige protocolservers en clients. Het dient als de basis voor het bouwen van extra servergeoriënteerde tools en technologieën, waaronder logboekregistratie, metrische gegevens en databasestuurprogrammas die allemaal in actieve ontwikkeling zijn.
Voor meer informatie over de open source Swift-community en het Swift Server-werk groep, bezoek Swift.org
Playgrounds en Read-Eval-Print-Loop (REPL)
Net als Swift Playgrounds voor iPad, maken speeltuinen in Xcode het schrijven van Swift-code mogelijk ongelooflijk eenvoudig en leuk. Typ een regel code en het resultaat verschijnt onmiddellijk. U kunt dan snel het resultaat bekijken vanaf de zijkant van uw code, of dat resultaat direct hieronder vastzetten. De resultatenweergave kan afbeeldingen, lijsten met resultaten of grafieken van een waarde in de loop van de tijd weergeven. U kunt de Tijdlijnassistent openen om een complexe weergave te zien evolueren en animeren, ideaal om te experimenteren met nieuwe UI-code, of om een geanimeerde SpriteKit-scène af te spelen terwijl u deze codeert. Wanneer u uw code in de speeltuin heeft geperfectioneerd, verplaatst u die code gewoon naar uw project. Swift is ook interactief wanneer u het gebruikt in Terminal of binnen de LLDB-foutopsporingsconsole van Xcode. Gebruik de Swift-syntaxis om uw actieve app te evalueren en ermee te communiceren, of schrijf nieuwe code om te zien hoe het werkt in een scriptachtige omgeving.
Pakketbeheer
Swift Pakketbeheer is een enkele platformonafhankelijke tool voor het bouwen, uitvoeren, testen en verpakken van uw Swift-bibliotheken en uitvoerbare bestanden. Swift-pakketten zijn de beste manier om bibliotheken en broncode te distribueren naar de Swift-community. De configuratie van pakketten wordt in Swift zelf geschreven, waardoor het gemakkelijk is om doelen te configureren, producten te declareren en pakketafhankelijkheden te beheren. Nieuw in Swift 5, de opdracht swift run bevat nu de mogelijkheid om bibliotheken in een REPL te importeren zonder een uitvoerbaar bestand te hoeven bouwen. Swift Package Manager zelf is eigenlijk gebouwd met Swift en als een pakket opgenomen in het Swift open source-project.
Objective-C Interoperability
U kunt vandaag een geheel nieuwe applicatie maken met Swift, of begin met het gebruik van Swift-code om nieuwe functies en functionaliteit in uw app te implementeren. Swift-code bestaat naast uw bestaande Objective-C-bestanden in hetzelfde project, met volledige toegang tot uw Objective-C API, waardoor deze gemakkelijk te adopteren is.