SwiftUI Only Makes It Easy to Develop Bad Apps
Summary
Gruber builds on Paulo Andrade's detailed critique of SwiftUI on macOS to argue that Apple's cross-platform UI framework is fundamentally broken for building quality native apps. He demonstrates with a devastating example: Apple's own Journal app loses text during basic Undo/Redo operations, something AppKit solved decades ago. Gruber argues that Apple's developer promise used to be that good native behavior came free with the framework, but SwiftUI has never delivered on that promise. At seven years old, SwiftUI can no longer hide behind the excuse of immaturity. With WWDC approaching, Gruber signals that SwiftUI's failings should be a top priority alongside Apple's AI announcements.
Key Insight
Seven years in, SwiftUI has broken Apple's core developer promise: that building on their frameworks meant getting correct, native behavior for free.
Spicy Quotes (click to share)
- 7
SwiftUI is productive, modern, and often delightful, right up until you try to make a really good Mac app. Then suddenly you're fighting the framework for things the Mac solved 20 years ago.
- 9
That's just profoundly fucked up. I've never seen anything like this with an AppKit app, ever.
- 7
Editing text in Journal is dangerous because SwiftUI is so bad at something as fundamental as text editing.
- 6
AppKit has had this solved since 1989 or so, a decade before Apple reunified with NeXT.
- 5
Apple's developer message used to be that it was not just easy to develop apps for their platforms, but that it was easy to develop good idiomatically native apps.
- 7
That's still true for AppKit and UIKit, but it's never been true for SwiftUI, and SwiftUI is now seven years old. That's too long for any excuses to hold water.
- 8
Apple left AppKit to fossilize and then tried to leapfrog the problem.
Tone
critical
