Recorded – watch the full episode on YouTube.
How do you find switching from UIKit to SwiftUI? Can you create with them to the same level?
Kaya Thomas: I think being there at the conference and sitting in on the sessions when they announced with UI and when they were teaching us with UI, my mind was blown. I totally fell in love. I was in that honeymoon phase for sure on that first week. I think it was just that whole new paradigm of thinking and developing UI, and I didn't expect it. I don't think most of us expected it. So it was a complete surprise and complete joy.
Now I will say, the honeymoon phase doesn't last forever. But definitely that first week, I was completely enamored. I thought it was so cool, easy to understand in the beginning. But I think once you get deeper into it, that's when you really, start understand the challenges that come with any new library, right. The 1.0.
“I think if you are still thinking with UIKit in your mind, it will be really hard to understand because you're trying to make it work just like UIKit worked, and it's not UIKit.”
Paul Hudson: So you said it's easy to understand. So you generally found it clicks, because some folks did hit a UIKit bump.
Kaya Thomas: I think I was able to decouple it from UIKit. I think in talking to people who have tried to ramp up with just UI and learn it, I think if you are still thinking with UIKit in your mind, it will be really hard to understand because you're trying to make it work just like UIKit worked, and it's not UIKit. It's a completely new way of developing. And so for me, I tried to just not even think about UIKit.
I was just coming with that learner's beginner's mindset like this is something completely new. And I think when it comes to learning the simple hello world and the very first views and button interactions, it was really simple and easy to learn. It definitely got way more complex once you actually get into developing a full application and the complexities that come there. Navigation and animation and all these types of different things, that's when it definitely gets a bit more complex, and it's not as easy of course. But when I was first learning it, I think I came with that beginner's mindset and tried to completely separate it from UIKit.
Paul Hudson: Do you think UIKit will disappear completely and everything will be SwiftUI?
“I do think in five, six years from now, there will be plenty of applications and companies that are all SwiftUI, but we're not there yet. We're not there yet.”
Kaya Thomas: No, no. I mean, look at Swift, right? Objective-C hasn't completely disappeared. There are still folks using Objective-C. There are still plenty of companies that have an Objective-C code. And so same thing with SwiftUI. I don't think UIKit is going anywhere. I don't think Apple is going to deprecate UIKit in the next five years or something. But I do think that they're going to heavily be putting more support into SwiftUI as it develops just like they did in some Swift and the Swift community.
It's obviously clearly the direction for the future. So I do think that it's going to be the new way of developing apps. And just like Swift, now you have apps that are completely written in Swift. Plenty of big companies and apps are 100% Swift. I do think in five, six years from now, there will be plenty of applications and companies that are all SwiftUI, but we're not there yet. We're not there yet.
“If you actually are trying to launch an app to the app store, and this is your first app, I wouldn't necessarily recommend just going all in with SwiftUI because there's a lot of things missing that I think are really necessary for production apps.”
Paul Hudson: I guess Swift had the advantage that, from day one, it was UIKit. It was app kit. It was watch kit. It was sprite kit. It was core graphics. It was everywhere from day one. They bound all their frameworks. Whereas in SwiftUI, there's no collection views, there's no text to use, there's no attribute strings. There's a lot of things still missing there. So it's kind of holding it back a little bit, obviously intentionally, but it hasn't got the same speed reduction, presumably.
Kaya Thomas: I don't think it's going to have the same speed of adoption just because it's a completely new paradigm and it is missing a lot that a lot of people need to just make their applications. And because of that, especially for someone who's just first learning, I think it's great you can play around with SwiftUI, but if you actually are trying to launch an app to the app store, and this is your first app, I wouldn't necessarily recommend just going all in with SwiftUI because there's a lot of things missing that I think are really necessary for production apps.
I think that it's not the same as Swift in that Swift there was still UIKit and a lot of backings of years and years of development. So it wasn't a complete turnover, but I do think it will have similar, once it gets a bit more stable, like Swift three and on, I do think it will have a similar adoption.
Paul Hudson: So you think we might see a SwiftUI 3 then? Change everything, break everything, learn everything from scratch again folks.
Kaya Thomas: Oh goodness. I mean, I hope not. But realistically, if we're being realistic, right? We probably will.
Paul Hudson: Well, I was reading about their continuous integration process by one of the folks who worked with SwiftUI, has now left Apple, and wrote a blog about what they were doing. And they're saying they had this massive system in place. They could test everything within one hour, but presumably they had a massive turnover of code ahead of time. But now literally hundreds of thousands of folks are using it. That's a hundred X, a thousand X, if not more, whatever they could possibly have before. They're actually learning things so quickly right now, we're like, "Oh, we never thought someone would do this with SwiftUI." You know? So potentially SwiftUI 2 this year could be a massive change as well.
“I think that we are going to see a huge difference with SwiftUI 2, because they've been getting intake from the community and seeing how people have been trying different things.”
Kaya Thomas: Oh, I think it will be massive. I mean, the fact that we saw even big changes when the first version of SwiftUI in beta came out versus what was launched in the GM Xcode, that was a huge difference. I think that we are going to see a huge difference with SwiftUI 2, because they've been getting intake from the community and seeing how people have been trying different things. And so hopefully, I'm hoping they're taking our feedback and then incorporating that in SwiftUI 2.
This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.
SPONSORED Thorough mobile testing hasn’t been efficient testing. With Waldo Sessions, it can be! Test early, test often, test directly in your browser and share the replay with your team.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.