@stroughtonsmith I have a half finished blog post from years ago outlining the ways in which UIKit is too limited to build desktop class apps and what Apple needs to do make it better.
It's basically the exact opposite of SwiftUI.
My argument was more and higher level "UI widgets", more standard controls and a toolkit of inspectors, navigation, editor controls, so you could build a higher powered app, without having to build custom UI replicating the system apps all the time.
@stroughtonsmith SwiftUI managed to take a fantastic, but limited, phone based UI framework struggling to grow up onto Tablets and Desktop.
And then replace it with something even more limited, designed for a watch.
And then try to claim that was good enough for building Desktop apps too.
@stroughtonsmith Other things on my list were: Cycript style live debugging into running apps, hot reloading code, or just UI, live UI previews in Xcode.
We got 1 of those things at least... but everything else went in the opposite direction. More static, slower compile times, less dynamic access.
@johnbrayton @stroughtonsmith Agree. They could do a lot technically - but that would first require them to acknowledge internally that the path they’re on doesn’t end in success, get over it, and pivot.
I don’t know how SwiftUI is being regarded internally by Apple engineers outside the SwiftUI team, but in their external communication so far it still sounds like they’re 100% still on board this train.
I think the hard part is getting over the office politics and ego side of this.
@stroughtonsmith I often disagree with you about SwiftUI as I think declarative architecture is the right one to build UIs.
But I agree that it shouldn’t be *all* declarative. Every declarative UI framework needs imperative escape hatches. Today, that escape hatch is UIKit but they should be building something better.