So, I have Stream for iOS and Mac (underway.) Stream is UIKit on iOS and I have the Mac version started with AppKit. The code shared between the two is high; networking, parsers, persistence, view models, utility support, all shared. What’s not? That’s right, the UI.
This is where my brain kind of locks up. Do I continue to invest in AppKit or do I do the Mac version of the app using SwiftUI (worst technology name ever?)
My SwiftUI knowledge is so rudimentary it feels like I’m spinning my wheels and wasting time trying to get Stream for Mac built and shipped using SwiftUI. On the flip side AppKit is also foreign but UIKit is so similar to AppKit that I get the paradigms and most of the API’s feel familiar.
Some of my original motivation was a desire to learn more about AppKit so I could try to get a job with someone like Panic or The Iconfactory, but the truth of the matter is I’m in my final act of my career and jumping to a company of that stature probably isn’t in the cards. I even gave up on my dream of working for Apple quite a while back.
Now my desire is to do the best work I can with Stream and start working on a companion app to it.
I sit here this morning trying to convince myself to do a couple iOS features for Stream and ship it so I can focus on bringing the SwiftUI based Stream to macOS. While my focus will be on the macOS all the work I do will be applicable to the iOS and iPadOS versions since the code can largely be shared between all three. Yes, even more code than is currently shared. We’re talking shared UI code and that sounds really attractive.