On the road to learn SwiftUI

I have created this SwiftUI Developer Roadmap. It is meant as an overview of the different aspects and tools that SwiftUI provides. There have been a few updates for the new SwiftUI 2, which are highlighted in yellow in the roadmap. The map is not complete, but it could serve well as a starting point.

How do you learn software development?

Xcode and SwiftUI

Views: SwiftUI building blogs

Your View Manifesto

Spicing it up with View Modifiers

Where is my data? What’s going on?

Every change in your app is reflected as a change in your State properties. Every time your user wants to change something or you want to present a change in the UI, you will use state properties. Now you are also ready for animations and control views.

The timing is right for Animations

The user wants to do what?!

MVVM: Keeping your shit together

If you want to get to know MVVM, you can check this video out that I made recently. It shows you with an practical example how to use MVVM and the advantages like including smoothly with unit tests.

Whilst you are here, maybe you want to know about the Combine framework. Seriously I don’t want to convince you, so I will make a really small hint: READ ABOUT COMBINE!!! Raywenderlich’s book would be good (not an affiliate link).

I am not going to discuss what data layer works best with SwiftUI. But I will mention a couple of points. First, if your project needs a local data storage options with advanced search functions, have a look at Core Data and realm.io. If you are dealing with documents, try out creating a new project choosing a document based app during app setup. If you want to share data between users for e.g. a shopping app, or a chat app, maybe Firebase would be a good option.

If you want to have a project to learn more with SwiftUI, I think starting with Core Data would be good. Simply because you get property wrapper such as @FetchRequest. Try it by creating a brand new project and ticking the Core Data box during project setup. The example code is a good starting point. A great course on Core Data with SwiftUI is the Stanford course section on core data. I liked it so much, that I started working on a small note-taking system for myself. You can see the full project on GitHub and the corresponding Udemy course.

If you consider Realm have look at frozen objects, which work better with SwiftUI immutable state objects.

Where to go from here

If you liked my content and you want to see more, you can check out my course here. Thanks for reading and let me know about your learning roadmap with SwiftUI.

I have a Ph.D. in physics, during which I started to love software engineering. I have deveped my own app with SwiftUI and I created a SwiftUI online course.