Swift of toch Objective-C?
Rotterdam, 23 augustus 2015
Misschien heeft u het meegekregen, misschien interesseert het u helemaal niet, maar: Apple heeft enige tijd geleden een nieuwe programmeertaal uitgebracht, “Swift”. Met allerlei voordelen zoals met minder code dezelfde functionaliteit maken, snelheid en veiligheid lijkt het er op dat deze taal in de toekomst een belangrijke, en later wellicht de belangrijkste rol gaat spelen in iPhone en iPad software ontwikkeling. En daarmee Objective-C automatisch gaat vervangen. Maar we leven nu. En de vraag is of het handig is om nu al in deze nieuwe taal te gaan ontwikkelen.
Dit blogartikel is niet zozeer om u als lezer ervan te overtuigen dat de ene of de andere taal beter is voor software ontwikkeling vandaag de dag. In plaats daarvan wil ik u meenemen in de overwegingen die een app ontwikkelaar moet maken omtrent deze zaken. Als u heeft gehoord dat Swift “het helemaal wordt”, eis dan niet direct van uw app-leverancier dat apps vanaf nu in die taal geschreven moeten worden (of zelfs herschreven) om “bij te zijn”. Zover zijn we namelijk nog niet.
Om deze reden som ik hieronder wat argumenten op om vanaf nu in Swift te gaan ontwikkelen, of toch juist in Objective-C te blijven werken.
De redenen om nu over te stappen op ontwikkelen in Swift zijn:
- Het is de Apple taal van de toekomst. Het is voor Apple dubbel werk om twee programmeertalen bij te houden. Daarom zal Apple zich vol inzetten om de Swift-adoptie zo snel mogelijk te laten verlopen. Apple laat ook zien dat het druk bezig is de taal te verbeteren, met een Swift 1.2 en binnenkort Swift 2.0 waarin allerlei verbeteringen zijn aangebracht.
- Om de voorgaande reden zal Apple minder capaciteit inzetten voor het verbeteren van Objective-C
- Swift lijkt meer op andere talen zoals Javascript, Python en C# en is daarmee laagdrempeliger om te leren.
- Nu in Swift schrijven zorgt dat het later, als Objective-C minder ondersteund wordt, minder een probleem wordt om applicaties te onderhouden en uit te breiden. Om die reden zou je zelfs beter gisteren dan vandaag kunnen beginnen met programmeren in Swift. Aan de andere kant is dat argument ook te gebruiken voor Objective-C omdat er miljoenen regels code in die taal zijn geschreven, die ook onderhouden moeten worden.
Dat lijkt een sterke zaak voor Swift. Echter, er zijn ook argumenten om nu toch in Objective-C te blijven programmeren. Zaken waar een programmeur rekening mee houdt zijn bijvoorbeeld:
- Objective-C zal niet zomaar ondersteuning van Apple verliezen. Veel Swift code is zelfs niets meer dan een jasje om Objective-C heen.
- Objective-C is inmiddels een erg volwassen taal waar jaar na jaar verbeteringen in zijn aangebracht. Swift staat nog in de kinderschoenen.
- Swift is nog volop in beweging. Hoe je vandaag iets aanpakt, kan over een maand verouderd zijn. Waar je vandaag een heel aparte functie voor schrijft, bestaat volgende maand een standaard functie voor.
- Als je nog niet heel ervaren bent zal je een enorm groot deel van je kennis van sites als stackoverflow halen. De antwoorden op de vragen die een beginnende maar vaak ook ervaren programmeur heeft, zullen veelal niet beantwoord zijn in Swift maar in Objective-C .
- De antwoorden die wel te maken hebben met Swift, zijn vaak verouderd door de snelle veranderingen in die taal. Dat maakt dat het zoeken naar de juiste oplossing langer duurt en de antwoorden minder betrouwbaar zijn.
- Plugins die een programmeur nodig heeft om snel goede iOS apps te maken, zijn vrijwel allemaal in Objective-C geschreven. Dat zal ook voorlopig nog wel zo blijven. Hierbij moet wel gezegd dat Objective-C plugins te gebruiken zijn in Swift, middels een kleine omweg.
U kunt zien dat elk voordeel van de ene keuze, wel een nadeel heeft aan de andere kant. Welke de beste keuze is in een specifiek geval hangt vooral van die situatie af. Voor een geheel nieuwe app die weinig afhankelijk is van oude code, is een keuze voor Swift wellicht een goede optie. De taal is immers gericht op de toekomst. Voor alle andere is Objective-C een minstens zo goede keuze, zo niet beter. Bedenk hier wel bij dat over een jaar de adoptie veel verder zal zijn en de kaarten een stuk anders zullen liggen.
Voor een freelance iPhone en iPad applicatie ontwikkelaar ligt het voor de hand om voor alle nieuwe projecten over te stappen op Swift. Hij of zij is veel minder in teamverband bezig en zal daarom minder rekening hoeven te houden met de snelheid waarmee mensen om hem of haar heen de nieuwe taal omarmen.
Enkele interessante discussies hierover zijn te vinden op Reddit en Quora.
Dit artikel is geschreven door Arjan van der Laan
U kunt bij mij terecht voor:
IT gerelateerd onderzoek & advies
iPhone apps
iPad apps
App developer iOS
Heeft u vragen? Neem contact met me op!
Contactgegevens:
Heeft u vragen? U kunt gebruik maken van het contactformulier.
Adres:
Korfoepad 79
3059XD Rotterdam
Tel. +316 19 532 770
KvK: 63601400