4 ms·
Well, we'll see. I really like the fundamental ideas of SwiftUI, and want it to work, but have found that it doesn't allow me to write the kinds of apps that I
by ChrisMarshallNY 2y ago
Well, we'll see.
I really like the fundamental ideas of SwiftUI, and want it to work, but have found that it doesn't allow me to write the kinds of apps that I like to release, so I still use UIKit/AppKit for my shipping apps.
The documentation for SwiftUI (and most new Apple SDKs) is awful. It's clear that they are relying almost entirely on inline code docs. They used to have a legendary documentation team.
Inline code docs can actually work quite well (I do it, myself[0]), but it requires serious discipline. If you cloc my codebases, it usually comes up 50/50 between docs and executable.
[0] https://littlegreenviper.com/miscellany/leaving-a-legacy/ https://littlegreenviper.com/miscellany/leaving-a-legacy/
- lylejantzi3rd 2y ago> I still use UIKit/AppKit for my shipping apps. What's the best way to learn UIKit/AppKit in 2024?
- ChrisMarshallNY 2y agoI'm not sure, but I'll bet there's a ton of blogs and wisdom on it, these days. Most of the new stuff seems to use SwiftUI, but UIKit has been around since they first opened the SDK, and AppKit has been around longer than that. Apple likes to pretend everyone uses SwiftUI, but I'll lay odds that most AAA apps are ObjC-based.
- kranner 2y agoI liked Paul Hudson's Hacking with macOS (https://twostraws.gumroad.com/l/hwmacos https://twostraws.gumroad.com/l/hwmacos) which includes an older AppKit edition of the book. You'll have to account for changes in Xcode since the book was published. Also, there's a chapter that uses the now-defunct Dark Sky API but you can replace it with Pirate Weather's API which is 1:1 compatible.
- ChrisMarshallNY 2y agoPaul Hudson is excellent. He has a bunch of video tutorials and blogs, that I still find useful. He's good for SwiftUI, as well. I like his sense of humor, as well. To wit: https://m.youtube.com/watch?v=a905KIBw1hs https://m.youtube.com/watch?v=a905KIBw1hs
- lapcat 2y agoSeveral years ago I wrote a blog post "Resources for learning Objective-C and AppKit": https://lapcatsoftware.com/articles/learning.html https://lapcatsoftware.com/articles/learning.html There are probably a lot of resources and tutorials out there for learning the UIKit-Swift combination. For AppKit, on the other hand, most of the best resources are "old", which means they were written before Swift was introduced. Thus, if you want to learn AppKit, you probably want to learn Objective-C too. You can of course write AppKit-Swift code, and many AppKit developers do. However, these AppKit developers learned AppKit-ObjC first and only later switched to Swift. I'm not aware of a lot of AppKit-Swift learning resources.
- jitl 2y agoI’ve been learning AppKit-Swift to build my own screenshot annotation app, mostly using StackOverflow and reading Apple’s older docs which are all ObjC. There’s very few things that don’t translate 1:1 from ObjC to Swift with the same API names. As long as you know what a message-send function call looks like in ObjC, you can read such examples and apply them to Swift. ObjC: [[FooClass alloc] initWithFoo: foo and bar: bar] Swift: FooClass(initWithFoo: foo and bar: bar)
- ChrisMarshallNY 2y ago> Swift: FooClass(initWithFoo: foo and bar: bar) Often looks like: FooClass(foo: foo, and: bar) These days.