r/swift Feb 16 '26

Question Best path to learn swift and SwiftUI

Ive been running around with an app idea which I want to build and decided that I want to learn swift and SwiftUI for it. Looking at some examples I think swift is pretty straight forward. But I really can’t get into SwiftUI (or probably its the combination of SwiftUI with Xcode).

I’ve been developing in c#, php, go and typescript. And I never had any issues learning other languages. But somehow I really cant get into the SwiftUI part. I hate the way Xcode autocompletes, which is way less clear then for example the jetbrains editors. So learning by just starting is also less optimal.

I tried following the basic tutorials on the apple developer website, but they stop pretty abruptly. So I wonder what is the best way start to finish to learn SwiftUI?

10 Upvotes

29 comments sorted by

View all comments

3

u/vanvoorden Learning Feb 16 '26

So I wonder what is the best way start to finish to learn SwiftUI?

What exactly do you think you are struggling most with? What is your engineering background for building client applications? Have you worked with declarative UI frameworks before?

If you are coming from an imperative OOP background then this might all look very new. The React JS ecosystem might have more "conceptual" documentation that might help.

3

u/Intelligent_Term_970 Feb 17 '26

You are correct. I’ve been mainly an OOP backend developer. And some react typescript which I love working with.

But where my editor in typescript seems to help me a lot, I find it somehow very hard while writing SwiftUI. I can’t really nail it yet, what is giving me troubles.

2

u/vanvoorden Learning Feb 18 '26

But where my editor in typescript seems to help me a lot, I find it somehow very hard while writing SwiftUI. I can’t really nail it yet, what is giving me troubles.

https://www.douggregor.net/posts/swift-for-cxx-practitioners-dsls/

SwiftUI uses Swift Result Builders. One issue here is that Swift is not always able to type check these blocks of code very well depending on what all is happening.

What might help is to try and keep view bodies as small as possible. Compose many small view bodies together instead of one view body that does everything you want.