Objective-C of Swift – welke taal kies ik?

Op de iOS Academie wordt de vraag vaak gesteld: “welke taal kies ik om apps te maken, Objective-C of Swift? Wat zijn de voordelen en nadelen van beide talen?”

Mijn antwoord is: begin altijd met Swift. Als je nog nooit eerder hebt geprogrammeerd, is Swift heel eenvoudig om te leren. Heb je al eerder geprogrammeerd, dan is het niet moeilijk om op Swift over te stappen. Als je eenmaal Swift “spreekt”, kun je overwegen om Objective-C te leren. Dat is gemakkelijker dan omgekeerd (en geloof me, ik spreek uit ervaring).

Objective-C versus Swift: voordelen en nadelen

De meeste mensen die beide talen spreken, zijn het eens over de volgende voordelen en nadelen:

Objective-C: voordelen

Verreweg de meeste apps die ouder zijn dan twee jaar, zijn (al dan niet gedeeltelijk) in Objective-C geschreven. Als je Objective-C kent, heb je er dus geen problemen mee om dergelijke apps bij te werken. Dit kan handig zijn als je voor of bij een bedrijf een app moet onderhouden of uitbreiden.

Objective-C: nadelen

Objective-C is lastig om te leren. Het is eigenlijk geen programmeertaal op zich, maar een ‘Smalltalk-achtig laagje’ dat bovenop de taal C is gebouwd. Zonder een goede kennis van C kom je niet ver in Objective-C.

Swift: voordelen

Swift is krachtig, veilig en gemakkelijk om te leren. Bovendien is het een zeer moderne taal die een aantal van de beste eigenschappen van andere talen in zich verenigt. Als je vooral aan de slag wilt met nieuwe applicaties, is Swift dus een uitstekende taal om mee te beginnen.

Swift: nadelen

Bestaande applicaties zijn vaak nog (gedeeltelijk) in Objective-C geschreven. Als je voor je werk dergelijke applicatie moet kunnen onderhouden of updaten, kun je dat niet, of niet overal, in Swift doen; je zult dan dus alsnog Objective-C moeten leren.

Swift als vervanging van Objective-C

Laat er geen misverstand over bestaan: het is een kwestie van tijd voordat Swift Objective-C zal vervangen. Nu al (het is maart 2017 als ik dit artikel schrijf) staat Swift hoger dan Objective-C in de TIOBE-index, de index van meest geliefde programmeertalen: Swift staat op de tiende plaats (gestegen van 14) en Objective-C is vanaf positie 15 gezakt naar de zestiende plaats, gezakt van de vijftiende.

Natuurlijk zijn er redenen om nog steeds Objective-C te leren. Als je apps ontwikkelt voor anderen, bijvoorbeeld als free-lancer, of omdat je als app-maker bij een bedrijf wilt sollicteren) kun je te maken krijgen met zogenaamde legacy code: programmacode die al eerder is ontwikkeld en die dus nog in Objective-C is geschreven. Soms wordt er van je verwacht dat je dan voortbouwt op die legacy-code en dus Objective-C gebruikt.

Overstappen van Swift naar Objective-C

De overstap van Swift naar Objective-C is echt niet moeilijk. Reken op een paar dagen en dan ben je al aan de slag. En Swift leren is ook niet moeilijk. Zelfs niet als je nog nooit in je leven hebt geprogrammeerd.

Heb je nog nooit eerder in Swift gewerkt? Dan heb je een aantal opties.

Scenario 1: je kunt al programmeren

Heb je al ervaring in een andere programmeertaal? Als je geen moeite hebt met het lezen van Engelse documentatie, kun je de officiële handleiding van Apple downloaden in de iBook store: The Swift Programming Language. De Playgrounds in Xcode maken het gemakkelijk om de voorbeelden te proberen.

Scenario 2: je kunt nog niet programmeren

Als je nog geen programmeer-ervaring hebt, had je geen betere taal kunnen kiezen! Swift is zeer toegankelijk voor beginnende programmeurs, zelfs als je nog nooit in je leven een letter programmacode hebt geschreven.

De belangrijkste eigenschappen van Swift

Swift kenmerkt zich door drie belangrijke eigenschappen:

  1. Het is een veilige programmeertaal; als programmeur word je in veel gevallen beschermd tegen crashes als gevolg van foutjes.
  2. Swift is een krachtige programmeertaal: je kunt Swift gebruiken om eenvoudige apps te maken, maar je kunt er zelfs complete besturingssystemen in schrijven.
  3. Het is een eenvoudige programmeertaal. Het is niet moeilijk om Swift te leren, zelfs als je nog nooit in je leven hebt geprogrammeerd.

Swift is in november 2014 uitgebracht. In november 2014 verscheen ook het eerste (en tot nu toe enige) Nederlandstalige eBook over Swift: iOS Apps bouwen met Swift – Programmeren met Swift. Dit eBook, dat regelmatig (gemiddeld één keer per twee maanden) wordt bijgewerkt, is inmiddels het standaardwerk geworden voor iedereen die apps wil kunnen maken voor het Apple-platform en die nog niet eerder met Swift heeft gewerkt.

Programmeren met Swift: de inhoud

Programmeren met Swift bevat een uitgebreide inleiding in Xcode. Je leert hoe de vensters werken, wat de belangrijkste toetscombinaties zijn en hoe je fouten kunt oplossen.

Het tweede gedeelte van het boek is gereserveerd voor een intensieve rondleiding door Swift. Via Playgrounds en apps leer je alle belangrijke onderdelen kennen. Ook als je nog nooit hebt geprogrammeerd, kun je met de voorbeelden aan de slag.

In het derde deel maak je je eigen Swift-apps. Op het Storyboard van Xcode ontwerp je je apps, waarna je Swift-code schrijft om je apps interactief te maken. Je leert werken met View Controllers, Navigation Controllers, Table Views, Buttons, Labels en andere UIKit-controls.

Leer Swift met dit eBook: Apps bouwen met Swift - daarna kun je altijd nog voor Objective-C kiezen.

Het eBook wordt zowel in ePub als in PDF-formaat geleverd. En voor de zekerheid: alle updates zijn gratis – levenslang!

Meer informatie over dit eBook vind je op deze pagina.

» Apps bouwen met Swift – het eBook