From a UX standpoint, Swift & AppKit is the only “proper” way to make a native UI for macOS at this current time.<p>SwiftUI is a mobile focused framework still being adapted to macOS, I think it’s just gotten tables this year? And even the best Catalyst app in the world (craft.do) will sit somewhere in between Electron and uncanny valley at times when it comes to things as simple as a button.<p>I would highly recommend using AppKit if the app is even slightly nontrivial and fit and finish is a goal.<p>If it’s a simple app and you’re ok with visual hitches and oddities but would like a native macOS “skin”, SwiftUI.<p>If fit and finish isn’t important, just use Electron.
In my native Mac Swift projects typically just generate all the UIKit elements in code and lay them out using NSLayoutConstraints. Once you get a feel for it it is really simple and scales well to different screen dimensions.<p>I gave up using Storyboards a long time ago.
Swift UI is the way forward but still not fully developed<p>Mac Catalyst is the current probable best way, but is looking long in tooth as SwiftUI gets all the love<p>AppKit is the old way but unless you want to relearn a bunch I wouldn't recommend it
It'd help to know what your UI will do.<p>For most applications, I'd suggest SwiftUI. That's because most UIs are for straightforward CRUD apps. Because everyone else here makes great points. There are lots of reasons to avoid SwiftUI at the moment.<p>However, I've made a handful of SwiftUI apps for macOS that were more than simple. It works well.