Why so many iOS developers feel so frustrated right now
Stuck between UIKit and SwiftUI, many of us have a hard time finding the energy to push forward
“I switched one of my side projects from SwiftUI to UIKit because that shit is not ready for prime time”
Since SwiftUI was announced last summer, I talked to many, many of my colleagues about their thoughts and feelings of this new piece of technology. Many, including myself, were excited. Who wasn’t dreaming of a first-class pure Swift UI framework? This was something that we waited for since Swift was announced, the last piece we needed to head into the bright Swift future.
But it’s pretty safe to say that it hasn’t happened yet.
Which is totally fine, by the way. Big projects like that take time, lots of time. SwiftUI is still pretty much in beta. And we understand. We know that we’ll get there one day.
But while we’re not there, we feel stuck. Outside of work, many of us find joy in developing side-projects, experimenting, trying and learning new things. We want to have something to invest our time and energy in. And right now, this is hard.
Because for one, it’s hard to justify investing heavily into UIKit, like we did before. Why bother? It’s gonna go away soon, we all know it. And let’s be honest, then there’s so much stuff about UIKit that we’re so tired of. Hey, is anyone excited to spend their next 10 minutes implementing
And when you try to invest in SwiftUI, after the initial excitement passes, you quickly understand that it has many limitations. Some things are obvious, some things are not. Some things are now much more easy, but other are very very complicated. It’s hard to make SwiftUI do exactly what you want. It’s just not there yet.
So say you want to start a new side-project, an iOS app. What should you use? UIKit? SwiftUI?
I can’t say.
What I can say is when you re-write your entire side-project in UIKit, it feels profoundly demotivating.
SwiftUI is a promise. And while this promise is not fulfilled yet, we will feel stuck. And we will feel frustrated.
So if you’ll find yourself lacking enthusiasm in the midst of all the shiny new SwiftUI posts, it’s okay. In iOS development, everything is unclear right now.
And it will take some time. Let’s embrace the uncertainty, and only then we will be able to find the energy to push forward. No matter in what direction.