Should I learn UIKit or SwiftUI? iOS Beginners dilemma

You are the newest kid on the iOS App Development block and rightfully asking yourself: Should I learn UIKit or SwiftUI? Which one should I start with? That is a fair question. Depends on your goals.

UIKit, foundation of the Swift language, existed from the beginning of iOS development. UIKit has been and still being used for iOS development on amateur and ultra-professional level.

Probably the first question you need to ask yourself is: For which objective, which finality am I learning iOS development? Is it for your own personal hobby, or do you want to land a Silicon Valley job?

In case you are willing to develop simple apps and quickly put them on App Store, and you don’t have patience to learn an entire universe of code, then start with SwiftUI. It has a simple syntax and few lines of code can achieve the results you are looking for.

Now, if you are even remotely considering iOS development to become your new profession, and you want to look for job opportunities, there is no way you can skip UIKit. I am not even sure if you can manage to get a job interview without mastering the UIKit. The primary reason being, there is so much legacy in UIKit, that at some point you will be asked to review existing code, or fix it, or enhance it. If the app was initially written in UIKit, you will have no idea where to start if your knowledge is strictly limited to SwiftUI.

SwiftUI, although powerful, lacks some customization capabilities, and lacks advanced control over interface. UIKit on the other hand gives you complete control on all advanced aspects of an iOS app. This will change in time, and SwiftUI will become extremely powerful, however, we are not there yet.

Long story short: if iOS development will be your professional activity, then start with UIKit. And learn it well.

Hope this has been helpful.