John Voorhees, MacStories:
The message from WWDC was clear: SwiftUI is the future, a unified approach to UI development designed to simplify the process of targeting multiple hardware platforms. It’s a bold, sprawling goal that will take years to refine, even if it’s eagerly adopted by developers.
And:
However, SwiftUI also raises an interesting question: what does it mean for Catalyst? If SwiftUI is the future and spans every hardware platform, why bother bringing iPad apps to the Mac with Catalyst in the first place? It’s a fair question, but the answer is readily apparent from the very different goals of the two technologies.
For non-developers, think of Catalyst (previously called Marzipan) as a development kit to make it easier for developers to port their iOS apps to macOS. But think of SwiftUI as more of a starting point to lay out apps that will run on all your Apple platforms.
John does an excellent job digging into the value of both Catalyst and SwiftUI, explaining each one’s place in the Apple universe. Both are important.
If I had to boil this all down to a single talking point, I’d say that Catalyst is the hero we need now, letting developers bring their iOS apps to the Mac, refreshing and enriching the Mac experience while we wait for SwiftUI to evolve and mature and for SwiftUI apps to become the norm on all platforms.
In a way, this model is similar to the early days of Mac OS X, when Carbon made it possible for classic Mac apps to run on OS X while we waited for developers to build and ship modern OS X apps.
A great read.
It will greatly depends how much Apple invest in SwiftUI for macOS. The actual version is not even remotely close to a very early alpha.
Many macOS native components are not supported (SearchField, VisualEffectView, all buttons styles but the default, …). And window resizing is not supported at all. Using a Split View or even adding a simple TextField to a resizable windows fails to behave correctly.
While it may work fine in iOS where windows are fixed size, Apple should really invest far more in the macOS side if they want developers to use it for real world projects.
At the time Carbon was used to port apps, Cocoa was already a very solid alternative (unlike SwiftUI today)
The Mac does not need rescuing. It iOS developers want in on the Mac ecosystem, they need to be thinking bigger than just big iPad apps on Mac. They need to stay ahead of the curve so that as more capabilities exist on iOS, the better iOS apps become true native Mac apps. Just like they had to break iOS for iPad out, so they will have to continue to separate for Mac.
The Mac does not need saving. Stop it. It’s tiresome and trite.