You can see the result everywhere. SwiftUI is productive, modern, and often delightful, right up until you try to make a really good
Macapp. Then suddenly you’re fighting the framework for thingsthe Macsolved 20 years ago.I gave up on swiftUI. I wanted to like it, but it’s just not great. It has always required kludgy workarounds and wrapping things.
And it’s always been absolute trash on the Mac.
In addition to this article, when you create a native menu bar widget using SwiftUI vs AppKit it results in wildly different fonts and list styles!
Clearly nobody tested the macOS experience.
But that extends to every facet of macOS SwiftUI. Lists, checkboxes, navigation views, control groups, labels, context menus. They’re all somehow janky and non native feeling. And they don’t style the way your iOS components do, so you shouldn’t even try sharing code.
iOS also has issues, especially iPadOS. Scenes really feel half thought out, keyboard shortcuts are entirely unused by basically any apps. I haven’t tried the latest SDKs, but multi-window apps and apps which are not purely document based or non-document based are janky. Undo stacks are janky.
SwiftUI is the best way to make a widget or isolated component (it’s fast, relatively composable, super quick iteration time), but it’s the worst way to build an app.
