Choosing Catalyst in a SwiftUI World

When I think back to WWDC 2019, I recall sitting poised as Catalyst was announced. After months of talk about “Marzipan”, this was the big reveal we had been waiting for.

I also remember promptly forgetting about it once SwiftUI was unveiled.

Catalyst seemed good if you had a UIKit iPad app to bring to the Mac, but if you were starting fresh with a new app, SwiftUI would be the way to go, right?

Possibly not.

It’s early days for SwiftUI and there are several rough edges. As such, I often find myself needing to drop down to UIKit. But what about the Mac? If I were to create a Mac target in my app and use SwiftUI, each time I encountered a SwiftUI shortcoming, I wouldn’t be dropping to UIKit, I would be dropping down to AppKit.

Therefore each time I drop to UIKit for iOS, I would be creating an AppKit burden for myself. A significant overhead, and one that Catalyst allows me to completely avoid.

It could be argued that by taking the Catalyst route, my Mac app won’t be a “real” Mac app. I keep hearing this phrase, and I’m not entirely sure I know what it means.

What I do know is that Catalyst allows me and countless over developers to express our ideas on the Mac, a platform that until recently, was off limits. That has huge potential.

Dave Nott @_davenott