Dit moet je weten over Swift:
Swift in het kort
- Swift is Apple’s eigen programmeertaal.
- Swift is bedoeld voor iOS, iPadOS, macOS, watchOS en tvOS.
- Het is gemakkelijk te leren, ook voor scholieren en mensen zonder programmeerervaring.
- Het is krachtig en is ook voor ervaren ontwikkelaars geschikt om complexe toepassingen te bouwen.
- Swift werkt op iOS 7 en nieuwer (incl. iPadOS) en macOS 10.9 en nieuwer.
- Swift is te vinden in de nieuwste versie van Xcode, Apple’s programmeertaal.
- Met Swift Playgrounds voor macOS en iPadOS kun je spelenderwijs Swift leren
Wat is Swift?
Swift is een algemene programmeertaal, net zoals Java of Python. Het is ontwikkeld door Apple en het moet op termijn Objective C vervangen, dat al tientallen jaren de standaard programmeertaal op het Apple-platform is. Swift werd in 2014 aangekondigd en werd in 2015 open source, zodat de broncode voor iedereen te bekijken is. Swift combineert eigenschappen van een objectgeoriënteerde, functionele en protocolgeoriënteerde programmeertaal. Na het schrijven van de code moet je het compileren, waarbij de code wordt omgezet naar instructies die op machine-niveau begrepen kunnen worden. Er vindt geen interpretatie plaats, zoals by Python.
Apple heeft Swift inmiddels gebruikt voor allerlei toepassingen: voor het bouwen van mobiele apps (voor iOS), als programmeercursus voor kinderen (Swift Playgrounds) en voor het ontwikkelen van desktop- en servertoepassingen. Als je Swift leert kun je bijna alle denkbare front end- en back end-toepassingen ontwikkelen voor Apple-producten. Swift is in korte tijd erg populair geworden, vooral onder Apple-gebruikers.
Swift downloaden
De nieuwste versie van Swift krijg je door Xcode te downloaden vanuit de Mac App Store of het Apple Developer Center. Bij het installeren van Xcode zullen ook Swift en de Objective C-compiler (LLVM) op je Mac staan. Je hebt een Mac nodig en een apparaat waarop je de gebouwde app kunt testen. Voor het ontwikkelen van een tvOS-app zul je dus moeten beschikken over een geschikte Apple TV. Eventueel kun je ook testen in een simulator, maar het is altijd verstandig om ook op een echt device te testen.
Op welke platformen is Swift te gebruiken?
Swift is geschikt voor het bouwen van apps voor:
- macOS
- iOS
- IPadOS
- watchOS
- tvOS
De eerste app die (gedeeltelijk) met Swift was gemaakt, was de WWDC-app. In 2014 bracht Apple een update van deze app uit, waarmee bezoekers de sessies, het tijdschema en de plattegronden konden bekijken.
Apps die met Swift zijn ontwikkeld, zijn Clear, Sky Guide, Airbnb, Linkedin, Hipmunk, Eventbrite en Khan Academy.
Swift-versies
Deze Swift-versies zijn verschenen:
- 2014: Swift 1.0
- 2015: Swift 2.0
- 2016: Swift 3.0
- 2017: Swift 4.0
- 2019: Swift 5.0
- 2021/2022: Swift 6.0 (in ontwikkeling, meer info)
Swift 5.0
Versie 5.0 van Swift verscheen in 2019 en legt vooral nadruk op het verbeteren van de stabiliteit van ABI (application binary interface). Deze functie zou oorspronkelijk in Swift 4 al zijn toegevoegd. Het zorgt ervoor dat toekomstige compiler-versies binaries produceren die aansluiten op de stabiele ABI. Dit is belangrijk omdat de onderlinge afhankelijkheden steeds groter worden. Ook als interne conventies, symbolen en layouts veranderen, zal het nog steeds goed werken.
Andere verbeteringen in Swift 5.0 vind je op deze pagina bij Apple en in onderstaande video.
Swift 4.0
Swift 4 verscheen in september 2017 en is de nieuwste versie. In vergelijking met Swift 3 is het stabieler en robuuster, terwijl de code die je maakt wel compatibel is met Swift 3. Er zijn verbeteringen aangebracht in de standaardbibliotheek en er zitten nieuwe functies in zoals smart key paths en serialization. Het bouwen van een app gaat sneller en de uiteindelijke code is compacter.
Dit zijn enkele vernieuwingen in Swift 4:
- Sneller en makkelijker apps bouwen die voldoen aan de Unicode-regels.
- Ondersteuning voor gebruiken en beheren van substrings.
- Smart key paths voor het maken en manipuleren van Dictionary- en Set-types.
Swift Playgrounds
Apple heeft Swift Playgrounds uitgebracht voor kinderen die willen leren programmeren in Swift. De app is ook geschikt voor volwassenen die voor het eerst een programmeertaal willen leren. In Swift Playgrounds maak je kleine programma’s die ‘playgrounds’ heten. Je krijgt meteen het resultaat van je code te zien. Zo kun je met één regel code al grappige dingen doen.
De interactieve lessen leren je de basis van het programmeren en je krijgt opdrachten en uitdagingen waarmee je zelf op ontdekking kunt gaan en zelf iets kunt maken. Je kunt met Swift Playgrounds zelfs robots en drones aansturen. De verbinding wordt dan gemaakt via Bluetooth. Verder kun je de code die je gemaakt hebt delen met anderen. Swift Playgrounds is beschikbaar op de iPad. Lees ook onze Swift Playgrounds review.
Swift is open source
Swift is in alle openheid ontwikkeld op Swift.org, waar iedereen kan meekijken bij de nieuwste versies. Je kunt de broncode inzien en regelmatig nieuwe builds voor ontwikkelaars downloaden. Iedereen kan hieraan meedoen. In deze community werken Apple-medewerkers en buitenstaanders samen aan het verder verbeteren van Swift.
Swift leren
Wil je Swift leren, dan zijn er verschillende manieren. Je kunt gratis studieboeken uit de Apple Book Store downloaden en zelf aan de slag gaan. Ook kun je cursussen volgen bij opleidingsinstituten. Er zijn enkele openbare scholen die Swift in hun opleidingsprogramma hebben opgenomen.
Gratis Swift leren:
- The Swift Programming Language (digitaal boek)
- Using Swift with Cocoa and Objective-C (digitaal boek)
- Swift Developer Documentation (online info)
- Gratis Swift-cursus van Stanford University (via iTunes U, gaat op termijn verdwijnen)
- Swift leren via edX
- Swift leren via Coursera
Swift-cursussen in Nederland
In Nederland kun je voor Swift-cursussen terecht bij onder andere:
Wereldwijd zijn er tientallen scholen en universiteiten die Swift-cursussen geven.
Ook zijn er heel wat communities en experts die hun kennis delen:
- SwiftLee van Antoine van der Lee (een wekelijkse blog)
- Swift Weekly Brief en Contravariance Podcast van Bas Broek
- Swift Community
Een Swift-certificaat halen
Heb je een Swift-cursus gevolgd en wil je een diploma of certificaat waaruit blijkt dat je de Swift-programmeertaal hebt geleerd? Certiport is het eerste bedrijf dat met goedkeuring van Apple een Swift-certificaat mag uitreiken. Het certificaat kan worden verstrekt via middelbare en hogere scholen, die meedoen aan Apple’s Everyone Can Code-programma. Scholieren en studenten moeten hiervoor de 1-jarige cursus App Development with Swift hebben gevolgd, waarmee ze volledig functionerende apps leren bouwen. Meer informatie vind je hier.
Swift werkt samen met Objective-C
Ontwikkelaars die met Swift bezig willen gaan, kunnen meteen aan de slag. Apple biedt alle programmeerhulpmiddelen aan via het developerprogramma van Apple. Als je al eerder code in C of Objective-C hebt geschreven, zal Swift bekend voorkomen. De eerste regel code die je in Swift zou kunnen schrijven, is deze:
print("Hello, world!")
Je vindt in de iOS Developer Library meer informatie over het programmeren met Swift, het toewijzen van waarden aan variabelen en de verschillende operators.
Swift werkt moeiteloos samen met Objective-C. Je hoeft de code van een bestaande iOS- of iPadOS-app dus niet weg te gooien, als je naar Swift wilt overstappen. Als je een nieuwe app wilt maken, kun je deze compleet in Swift programmeren. Maar je kunt in een bestaande app ook nieuw functies toevoegen. Swift-code kan naast bestaande Objective-C bestanden binnen hetzelfde project bestaan. Je hebt daarbij volledig toegang tot de Objective-C API, zodat je gemakkelijk kunt overstappen. Voor nieuwe projecten kan het slimmer zijn om meteen helemaal in Swift te beginnen.
Verschillen Swift en Objective-C
Objective-C is al jarenlang dé standaard programmeertaal van Apple. Objective-C ontstond binnen NeXT, voordat Apple het bedrijf overnam en Steve Jobs terugkeerde bij Apple. In 2010 begon Apple met de ontwikkeling van Swift, een nieuwe programmeertaal die beter, stabieler en veiliger zou moeten zijn dan Objective-C. Ook zou het betere hardware-performance moeten bieden. Swift is 2,6 keer sneller dan Objective-C en ruim 8x sneller dan Python.
Apple lijkt geen plannen te hebben om volledig te stoppen met Objective-C en er komen ook nog steeds updates voor uit, maar probeert het gebruik ervan wel te ontmoedigen. Objective-C was gebaseerd op de programmeertaal C, maar voegde er objectgeoriënteerde paradigma’s aan toe met behulp van object messaging. In Objective-C gebruik je daarom header files waarin je de functies en definities definieert. In Swift is zo’n header niet nodig: je kunt een enkel .swift bestand maken, dat alle header-informatie, properties en class-definities bevat. Dit levert schonere code op met minder overhead.
Swift is volgens sommige statistieken de snelst groeiende programmeertaal.
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!