Я вчера попытался переписать свое пет - приложение с AppKit на SwiftUI. Жесть оно тормозило (на 16-ке), до сих пор не убрали некоторые косяки. Вернулся к варианту на AppKit, которое просто летает, но императивный подход жутко надоел. Пишу неделю уже адаптер для таблицы, чтобы хоть как-то подогнать под MVP. Надеюсь SwiftUI в течении года доведут до ума. SwiftUI - это как Ray Tracing. Тупой алгоритм по своей сути, но понятный, решенный в лоб (нужны мощности). UIKit / AppKit более сложная штука, менее удобная, но оптимизированная. Императивщина лучше поддается оптимизации, так как она позволяет хранить промежуточные состояния приложения.