I made a dozen prototypes and variants over the last month. I iterate as I use the app myself. I keep what feels just right, I improve what I feel is not quite there, I remove what doesn’t work. I make an effort to prioritize function over form while tending to form within and around function: high-density informaton, self-evident controls, haptic feedback, visual cues, and evolving and adapting controls and layout to what feels right. It is taste as much as it is engineering.
SwiftUI does make it easier by an order of magnitude or three. It just needs to be understood for it to work well. It has to mixed with Cocoa and UIKit for native controls and native interactions (such as properly handling a scroll view’s offset).