Should I learn SwiftUI or UIKit ?

Melchior SAÏZONOU
Mac O’Clock
Published in
2 min readMay 20, 2020

Today I want to address a question that has become very popular among IOS developers. Should I learn SwiftUI or UIKit ?

Two women trying to find the missing “ ; “ 😅

SwiftUI is a great piece of technology of course it is. I am myself passionate about that to see what’s possible in the future. However because SwiftUI only supports IOS 13 and above it won’t be a good solution for at least very large businesses until maybe IOS 14 or even 15. So the next question I want to answer is what if I don’t care about device on IOS 12. Well if you don’t care so much about older devices SwiftUI is a pretty viable solution for you know things like start-up that want to move very very quickly.

So for example if you have a kind of prototype idea that you just want to test out and build out to see if it’s an actual feasible project for the market then SwiftUI I think is a plausible solution remember adoption rate for iOS is fairly quick at least it’s much quicker than Android due to not having a device fragmentation.

Now what if you’re a student. Well if you’re a student and you’re planning on taking mobile development courses from a well-known school it’s most likely that the instructor will be teaching the course in plain UIKit.

Furthermore with SwiftUI you still need to learn plain old swift, anything that doesn’t have to deal with UIs are still written out in plain swift. So for example if you’re making a lot of network calls if you want to interact with the combined framework or if you want to structure your entire code base using one of the famous architectures like MVC, MVP, Viper you still have to type all this stuff in plain swift.

One thing interesting is that when you learn everything in swift all these skills are transferable whether or not you want to use UIKit or SwiftUI.

Now that we mentioned transferability did you know that you can use plain UI view controller components you can use them in SwiftUI by just providing a container view so you don’t really have to worry about having to use 100% of SwiftUI or UIKIT. You can pretty much mix and match all of your components together very easily with all the available APIs that Apple has provided for us.

These are just my quick thoughts on this question of whether or not you should learn SwiftUI or UIKit. Make sure you learn what’s best for you if you’re really looking for a job as an IOS developer you most likely have to learn Swift UIKit or Objective-c UIKit. SwiftUI is still a while away.

--

--