You will definitely benefit from reading BNR books (both Cocoa and iOS), especially if you find it hard to understand Apple’s programming resources. Once you have read the BNR books, you are ready to fly solo.
We are indeed in an awkward spot right now with so many changes.
I think you have a good plan, though. I think most iOS developers will benefit from having UIKit experience, and that most of us should strive to be able to work with both if we are able.
Which to learn first? I think there are good arguments for going in either order; it’s a bit like deciding whether to learn to drive an automatic transmission vehicle before or after learning to drive a standard/manual transmission vehicle… one is old, established, and you can dig deep into its guts if you’re interested. The other is easier to use and to learn, but you can’t do quite as many cool tricks with it (yet).
tl;dr: Your plan is a sound one. But I’m biased of course.
Just wanted to reply to you also, ibex10, to thank you for your continued activity and enthusiasm around here. You’ve been on these forums a long, long time and it’s been noticed and appreciated.
While I have decided to get the BNR iOS book, I noticed the OS X latest edition came out in 2015, and is very outdated at this point. With all of the changes pertaining to Catalina and Big Sur, I was hoping BNR would eventually come out with a new edition. From what I have read, I guess they are pretty consumed with their training classes at this point.
Add to that the fact that they apparently no longer offer training on Mac OS X programming. I would be surprised if they published a replacement for the 2015 book.
BTW, Just realized that you were the author of the Swift Programming Book 3.0. I love your treatment on Opaque Types. I understood the concept a wee bit, but your analogy with food being served in a restaurant is excellent and drives home the point of using Opaque Types.
I also like the way you present the changes to code in ongoing discussions via the deletion lines as it makes it much easier trying to comprehend subject matter when using ePub formats because I don’t have to move back a forth a couple of pages while trying to figure out what changed.
Your learning path seems well-thought-out! Building a strong UIKit foundation before diving into SwiftUI is a pragmatic approach, especially with your Swift background. Learning the interactions between SwiftUI and UIKit will be crucial. Consider supplementing your journey with practical projects to reinforce concepts. Best of luck on your iOS development adventure!