As an instructor and an iOS developer, one of the most frequent questions I get asked is “Should I learn UIKit, since SwiftUI is the future”. Before I answer this question let me take you back to 2016, when I was teaching iOS development at The IronYard.
At The IronYard Houston, I was an iOS instructor. Even though in 2016, Swift language was 2 years old, I always started the course with few weeks of Objective-C. The main reason for teaching Objective-C was to teach my students to work with legacy codebase. Technology adoption takes time, the larger the company, the more time it takes. This means if you land a job at a big company then your chances of working with Objective-C are very high. Yes, eventually Objective-C will phase out and Swift will be your default choice but 2016 was definitely not that time.
Now, fast forward to 2020 we face the same situation. Should we ignore the past and look into the future or should we learn from the past to better understand the future? I believe that if you are in the process of learning iOS development, you should start with UIKit. SwiftUI is an amazing framework but it is still at an infancy stage and not many companies are using it. Apart from being new it does have sharp edges, which will become smoother each year with new release.
So, if you are a new to iOS development then start with UIKit. Learn the concepts, make sure your base is strong. Once, you have covered the basics jumping onto SwiftUI will be much easier.
I hope this post has helped you understand why UIKit is still important and how it can help you better plan for SwiftUI.