Swift design patterns (Dutch)

Aan het begin van de periode had ik mijzelf een doel gegeven. Beter worden in het maken van iOS apps door middel van Swift. Het idee hiervan is dat ik tot nu toe veel dingen doe die of op internet staan of niet optimaal gemaakt zijn. Hierdoor kan het zijn dat de apps traag worden en dus niet fijn werken.

Maar hoe wil ik dit aanpakken?

Om te beginnen heb ik een aantal boeken aangeschaft. Het gaat hier om de boeken van Hacking With Swift waarbij mijn focus vooral uitgaat op Swift design patterns en Testing in swift. Dit omdat ik voor mijn kennis over Swift goed gebruik kan maken van Swift design patterns. En als ik dit goed combineer met Testing in Swift, kan ik functionaliteit direct controleren op werking.

Voor de komende aantal weken ga ik mij dus bezig houden met het lezen van Swift boeken en het uitproberen van nieuwe design patterns.

1e tutorial week

Voor een logische volgorde ben ik in de 1e tutorial week begonnen met het boek Swift design patterns. Waarom is dit logisch? Simpel, omdat een gestructureerde code goed ingericht is.

Waarom heb ik eigenlijk gekozen voor een boek in plaats van een udemy course? Dit is voornamelijk omdat ik het prettiger vindt om dingen te lezen in plaats van telkens op pauze te drukken om iets na te moeten doen. Daarnaast is het ook erg fijn om iets te hebben waar je snel terug op kan komen door even snel het boek erbij te pakken.

Mijn voortgang

In de 1e tutorial week ben ik dus begonnen met het boek, in dit boek wordt op een prettige manier uitgelegd hoe diverse design patterns werken. Daarnaast word er uitgebreid uitgelegd wat de gedachtengang achter bepaalde onderwerpen is met daarbij eigen ervaringen.

Protocol, initializers, extensions, alles komt wel naar voren in het boek. Aan het begin was dit best wel overwhelming, ik kon apps maken in Swift maar dacht nooit echt na hoe en waarom ik iets doe. Door dit boek ben ik heel anders gaan denken over bepaalde keuzes die ik maak. Bijvoorbeeld hoe ik mijn code verdeel in logische structuur, voorheen had ik alles in mijn ViewController. Sommige models stonden er los van, maar verder alle logische data kwam daarin. Hierdoor krijg je een erg lang bestand die niet meer leesbaar is.

Toepassen

Nu ik zoveel geleerd heb van dit boek, wil ik het een en ander ook gaan toepassen. Voor TGIF is mijn doel om een Backend Driven UI package te schrijven voor SwiftUI. Hierdoor wil ik mijn kennis die ik heb verkregen van het boek toepassen in een package. Dit is namelijk een perfecte plaats om structuur te testen. Mijn voortgang van dit project is te zien op github