Looks like I’ll be in MigraineLand a bit longer than I anticipated, but I did have a few short intervals of lucidity when I was able to do a little bit of programming. And think about these tutorials some more.
I’ve been reading up more about the pros and cons of Catalyst and SwiftUI, mostly to see if they’re ready for use in released software. The consensus seems to be that SwiftUI is mostly ready, minus a few controls and some functionality compared to UIKit or AppKit controls. However, companies are already releasing software that uses SwiftUI, including Apple. At least one developer was thankful that they did not have to learn as much UIKit programming to get an app coded.
Catalyst, on the other hand, is more difficult to use. While the initial creation of an app that will run on both iPadOS and macOS is simple, getting the macOS version to behave more like a native app is the difficult part.
So here’s my current thinking:
-
Do the tutorial with SwiftUI for macOS, since more respondents seem to be interested in desktop programming. While SwiftUI is not 100% mature, it is the way of the future, like it or not, and I must admit that it’s simplified my development of UI’s.
-
Repeat the tutorial with SwiftUI plus Catalyst. Rather than do everything over again with added conditionally-compiled UIKit code, see if Catalyst can do the job anyway (since Catalyst coding is similar to UIKit programming). Why do it this way? We’ll, most of us used Xojo because we wanted cross-platform capabilities easily. Catalyst (and SwiftUI) is Apple’s way to have at least cross-device capabilities, so I thought I’d try to adhere to that philosophy. I may regret this later, but maybe I’ll save somebody else the trouble I run into. This would allow programmers to have one code base for both macOS and iOS. (And I may need to drop down to AppKit and UIKit for some features).
I’m going to work on converting an educational program of mine to SwiftUI for a little while to get myself up to speed with the latest SwiftUI and Swift 5 developments. After that, I’ll be ready to start working on tutorials.
One question for now: Would you prefer covering Swift and SwiftUI at the Big Sur stage, or should I cover Swift 5.4 and the latest SwiftUI additions in Monterrey?
Scott