Er is goed en slecht nieuws voor ontwikkelaars. Apple heeft aangekondigd dat Swift 3.0 later dit jaar beschikbaar zal komen. Het zal een grote update worden van Apple’s eigen programmeertaal, met fundamentele veranderingen in de taal zelf en de Swift Standard Library. Het slechte nieuws is dat het niet source compatible is met Swift 2.2.

Swift 3.0
Het nieuws is te lezen in een blogposting op de Swift-website. Daarin schrijft Apple-medewerker Ted Kremenek, Senior Manager of Source Languages bij Apple, dat de release eraan komt. De nieuwe versie van de programmeertaal bevat voor het eerst de Swift Package Manager, voor het ontwikkelen en distribueren tussen platformen. Swift 3.0 zal later dit jaar beschikbaar komen via de website en Xcode, waarschijnlijk ergens eind van het jaar.
Apple schrijft:
Swift 3.0 is expected to be released sometime in late 2016. In addition to its Swift.org release, Swift 3.0 will ship in a future version of Xcode.
De kans is groot dat Apple op de ontwikkelaarsconferentie WWDC 2016 meer details onthult over Swift 3.0.
Swift: eigen programmeertaal
Swift is de eigen, open source programmeertaal van Apple. De taal is snel in populariteit gestegen, zo blijkt uit statistieken van GitHub. Maar Apple maakt er zelf nog nauwelijks gebruik van, zo bleek eerder dit jaar. Er blijkt in iOS 9.2 maar één app aanwezig die met Swift is gebouwd, namelijk de Calculator. Deze app is bijna volledig in Swift gemaakt, waarbij slechts 2 van de 22 classes geschreven zijn in Objective-C, de voorganger van Swift. Calculator blijkt een digitaal trapveldje te zijn voor Apple: ze gebruiken de app om allerlei zaken te proberen. Andere standaard-apps van iOS zijn nog gewoon in Objective-C geschreven. Wel heeft Apple Swift gebruikt voor de Apple Store Watch-app en delen van de WWDC-app, maar die zijn apps zijn optioneel te gebruiken. Volgens Apple’s softwarebaas Craig Federighi, gebruikt Apple Swift ook voor het Dock in OS X 10.11.
Zelf met Swift aan de slag
Wil je Swift leren, dan kun je terecht bij de uitstekende gratis cursus van Stanford, die dit jaar weer in een nieuwe editie is verschenen. Ook als Swift later dit jaar wijzigt, heb je daarmee toch een waardevolle basis te pakken, om je eigen apps te ontwikkelen. Bovendien kun je nu al gewoon met Swift 2.2 aan de slag gaan en apps indienen bij Apple.
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Er mag bij gezegd worden dat Xcode de migratie van de ene versie naar de andere wel heel gemakkelijk maakt.
Maanden voor de nieuwe taal er is geeft Xcode al welke syntax ‘deprecated’ is en zal verdwijnen met een suggestie die wel toekomst proof is.
Dan zijt ge net begonnen met swift en dan lees je dit. Tis maar om bezig te blijven met leren zeker.
Ik hoop dat Swift nog beter gaat werken op Linux. En misschien, in de toekomst,….. Xcode?
Waarschijnlijk blijf je nog wel even Swift 2.2 kunnen gebruiken
Denkje nou écht dat swiftcode 3 niet overweg kan met 2.2? Dan zouden ze een heel groep buiten sluiten. Neem het maar als een korreltje zout, daarnaast is het opensource. Als ze dat zouden doen hebben ze de hele communit op hun dak.
Naar ik mag aanemen zal er toch wel een optie zijn die de mogelijkheid biedt om 2.2 te openen in 3.0 en vervolgens op basis van best effort een conversie van de code uitvoeren. Net als bij Microsoft Visual Studio. Het is niet zaligmakend en gegarandeerd foutvrij, maar 90% van de code is correct omgezet. De resterende code moet je dan helaas nalopen en waar nodig aanpassen.
Het is niet zo dat de hele code anders is. Enkel bepaalde functies die veranderd zijn net zoals in elke programmeertaal. Echter is het verschil dat Xcode deze probleemloos voor je kan omzetten.
Dus ik mag m’n apps gaan herschrijven naar 3.0 als ik de nieuwe xcode ga gebruiken?
Ben ik blij dat ik nog niet naar Swift ben over gestapt. Te veel in ObjC gemaakt om de switch in 1x naar Swift te maken.., ik wacht t nog maar even af. Tot de echt grote veranderingen achter de rug zijn 😉
Apple lijkt niet echt bezorgd om haar populariteit.
Nee, je moet de code alleen een beetje bijwerken, omdat de syntax enigszins is aangepast. Zodra je een project met een oudere Swift-syntax opent, zal Xcode meteen aanbieden om het automatisch om te zetten. Bij elke obsolete syntax wordt ook een foutmelding getoond met een suggestie om het aan te passen. Dat is nu bij elke versie van Swift zo geweest.
Swift is nog volop in ontwikkeling, dat moet je als ontwikkelaar eigenlijk beseffen. Ik vind het juist goed dat dit gebeurt. Hierdoor worden minder goede dingen meteen eruit gegooid en niet vanwege luie compatibiliteitseisen in de code achtergelaten, waar zij dan alleen bloat worden en de code alleen complexer maken. Tussen versies 1–3 is Swift alleen beter, overzichtelijker en voorspelbaarder geworden.
Dat is ook verstandig als je die zekerheid wilt hebben. Het duurt jaren voordat een programmeertaal echt stable is. Daar is Apple ook eerlijk over geweest. Dat is bijvoorbeeld ook de reden waarom Swift niet in iOS of OS X zelf zit, maar in de vorm van frameworks aan app-bundels wordt toegevoegd.