Free SwiftUI Tutorial – Adding MVVM (

Add MVVM to a SwiftUI sample project. Learn Layered Architecture and how to examine projects for Code Review. – Free Course


  • Only basic experience required



================  13 years in iOS ====================

1. This course is free. I hope that it helps to continue the discussions on architecture with the new realise of SwiftUI, which is using a new type of programming paradigm (known as the Reactive Programming). We discuss MVVM and awesome architecture.

2. We introduce the MVVM architectural design pattern into a sample project using a really simple approach that only takes a few minutes.

3. We focus on what’s known as having a layered architecture. A layered architecture is when you separate the responsibilities into layers which sit on top of each other. As an example, we could have an application with 3 layers. Layer 1 (the lowest layer) could be the networking layer, layer 2 would sit ontop consisting of our business logic and ViewModels and finally layer 3 (the top layer) would only display UI and is known as the presentation layer. The layers communicate between each other but the information passes between layers and so Layer 1 would not communicate to Layer 3 directly without passing the communication to Layer 2.

The alternative to a layered architecture is known as ‘spaghetti code’, which you may be familiar with. Spaghetti code doesn’t have much of a structure and individual classes seem to talk to each other on an individual to individual basis. Also, each file typically isn’t reduced to use only one Single Responsibility (my advice: don’t write a class that does more than one thing!). With spaghetti code the classes and structs tend to do a lot of things.

Tip: Avoid writing spaghetti code because it is untidy, harder to read, lacks structure and ultimately makes it more difficult (and more expensive) to maintain.

Free Videos & Courses


These courses are free. I hope you enjoy them. I keep the course short. 1 hour is pretty good to learn some new tricks. Architecture is the foundation of engineering and I hope I can encourage everyone to learn more about it. I will help out where I can and share as often as possible.

The Instructor


Check out my Instructor profile (just briefly) and glance over it to know about my experience. After 13 years on iOS I would like to start giving back and supporting my fellow iOS developers.

Apple has given me a great career and if possible I would like to contribute to this incredibly talented and highly skilled community.

Whats a Mini Course


A course that is roughly 1 hour long and with only a handful of videos so that it is easily completable in a day! So many people have asked for short little courses and I completely understand why users / developers would want something they can finish in an hour. I hope this helps.

Coming Soon


  • How To Perform A Code Review

  • Mini Course – SwiftUI FOR THOSE Who Know Nothing About It

Hope to see you soon x

Who this course is for:

  • Juniors who want to learn – for free 🙂

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

    10 popular coding interview problems (

    Coding Essentials – Logic Building for Beginners (