Apple maakt zelf nog nauwelijks gebruik van Swift
Hoewel Swift, Apple’s eigen nieuwe programmeertaal om apps mee te ontwikkelen, sinds enige tijd open source is, maakt Apple zelf nog maar weinig gebruik van deze programmeertaal. Zowel standaard iOS-apps als de apps van Apple die je kunt downloaden uit de App Store, maken nog maar weinig of geen gebruik van Swift. Dit ontdekte iOS-engineer Ryan Olson.
Meeste werk nog in Objective-C
Er is één standaard iOS-app in iOS 9.2 die bijna volledig gemaakt is met Apple’s eigen programmeertaal. Het gaat hier om de Calculator-app. Slechts twee van de 22 onderdelen zijn niet gemaakt in Swift, waardoor de Calculator-app bijna geheel gebruikmaakt van Apple’s veiligere en snellere ontwikkelaarstaal.
https://www.iculture.nl/gids/swift-programmeertaal/
Apple kondigde Swift al in op de WWDC van 2014 aan en kort daarna werd naar buiten gebracht dat de WWDC-app de eerste app zou zijn die Swift-onderdelen bevat. Dit blijkt inderdaad het geval, maar het gaat slechts om zes van de 281 onderdelen. De Apple Store-app maakt voor de Apple Watch-versie wel gebruik van Swift, maar meer sporen van Swift kon Ryan Olson niet vinden.
Waarschijnlijk zal Apple in de toekomst zelf meer gebruik gaan maken van Swift, met de komst van nieuwe grote software releases zoals iOS 10. Swift werkt samen met Objective-C, waardoor de apps niet helemaal opnieuw ontwikkeld hoeven te worden.
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Even uit nieuwsgierigheid, wat Swift voor objective-c is, is toch wat jquery voor javascript is? Of is dat niet vergelijkbaar?
Ongeveer, maar niet helemaal. Swift is een taal op zich, jQuery niet.
Daarnaast erger ik me wel aan de casting in Swift.
De casting? Je bedoelt tussen Floats/Ints/Doubles etc? Je moet dit zo zien: je cast ietsje meer, maar het is wel een stuk duidelijker wat er gebeurt. Bijvoorbeeld in de programmeertaal Java bepaalt de compiler wanneer er wordt gecast, wat soms voor onverwacht gedrag zorgt. Voorbeeld in Java:
int a = 10;
int b = 3;
float c = a / b;
Waarde van c is nu 3.0. Waarom? Omdat Java ziet dat je twee ints gebruikt in de berekening: 10 en 3. Daarom wordt er besloten dat de uitkomst ook een int wordt (3 dus). Omdat de variabel gedeclareerd is als een float, wordt het nu vanzelf omgezet naar een float, dus 3.0.
In Swift moet je expliciet zijn zodat je verplicht wordt na te denken elke keer als je van type wisselt. Dus we maken dezelfde twee ints:
let a = 10
let b = 3
Zoals je het ongeveer in Java zou doen compileert niet in Swift want er is een type mismatch, je probeert namelijk een int te assignen aan een float.
let c: Float = a / b
Als je het gedrag wat je standaard in Java tóch wilt, maak je het expliciet. Hier komt dus ook 3.0 uit
let c: Float = Float(a / b)
Als je toch liever het logische antwoord van 3.3333 wilt krijgen zet je de waardes eerst om naar floats voor je ze deelt
let c: Float = Float(a) / Float(b)
Was voor mij ook even onwennig, maar nu ik inzie dat het eigenlijk wel veiliger is zo, vind ik het eigenlijk wel beter.
@Tom van Zummeren: wooww!!!! Wat een top uitleg hier! Bedankt hiervoor!
Haha graag gedaan. Al was het behoorlijk off-topic
I don’t understand…
Het levert Apple ook niets op om Objective-C over te stappen. Nieuwe projecten zullen daar vast eerder gebruik van maken, maar bij oude projecten is er eigenlijk geen noodzaak en kost het alleen mankracht en geld. Ik zie zelf ook niet al te vaak projecten die beide talen binnen één project gebruiken. Bovendien wordt Swift ook nog actief ontwikkeld.
Gelet op de hype en de stortvloed aan superlatieven waarmee Swift gepresenteerd werd is dit op zijn zachtst gezegd een opmerkelijk bericht. En dan ook nog zo’n beetje de simpelste app op de iPhone: de calculator.
Typisch Apple toch..
@Tom van Zummeren: 👍🏻 top uitleg!
De taal is nog niet perfect maar ik vind hem al erg fijn!
@WvB22: Zo opmerkelijk is het helemaal niet, denk ik. Ze gaan natuurlijk niet bestaande apps, die gewoon goed werken, herschrijven in Swift. Waarschijnlijk hebben ze de Calculator als “proefkonijn” gebruikt, juist omdat het zo’n lekker simpele app is. Ik vermoed dat ze alleen Swift gebruiken als ze nieuwe dingen maken, of een bestaande app drastisch willen aanpassen. Heeft iemand al uitgezocht hoeveel Swift er gebruikt wordt op tvOS? Zou zomaar eens meer kunnen zijn, omdat daar meer nieuwe onderdelen in zitten.
@Bart: Zou wel eens tegen kunnen vallen, Apple zelf verkondigde immers juist dat tvOS 95% identiek aan iOS is… (vandaar ook dat het met ‘versie 9’ is begonnen)