Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

NoUI()

The article presents NoUI(), a SwiftUI-style approach to building user interfaces without a traditional UI framework, instead using direct Core Graphics rendering and imperative drawing code for complete control over pixels and performance.

Background

The author, Jordan Rose, is a long-time Swift compiler engineer who worked at Apple on the Swift team and later at the Swift project itself. This blog post was written shortly after his departure from Apple in 2023. The piece reflects his frustration with SwiftUI — Apple's declarative UI framework introduced in 2019 for building interfaces across Apple platforms. SwiftUI heavily relies on property wrappers (like @State, @Binding, @ObservedObject) and opaque result types (some View), which Rose argues obscure what the code is actually doing. His "NoUI()" proposal rejects SwiftUI's approach entirely, arguing for a return to explicit, procedural UI code without the magic of property wrappers and view builders. This is a niche but heated debate within Apple developer circles: whether SwiftUI's abstraction saves time or creates confusion, and whether Apple should invest in a lower-level alternative.