Recorded – watch the full episode on YouTube.
One of the big features of SwiftUI is that it works great on iOS, macOS, watchOS and tvOS. Has it made you tempted to try building more for macOS or watchOS?
Kaya Thomas: It has for watchOS, not as much macOS. I haven't been as enticed to build a Mac app. But definitely when I saw how easily it worked with watchOS I was like, “oh, this is really cool. I could build a watch app." But then I had zero ideas. So I didn't actually build one. I think the idea part is kind of tough sometimes. But I'm curious because it is so much simpler with SwiftUI and because you can have that kind of build once kind of work everywhere. It doesn't really work everywhere, but it's close enough that I think it would be cool to try to build a watch app.
“But definitely when I saw how easily it worked with watchOS I was like, "Oh, this is really cool. I could build a watch app.”
Paul Hudson: But look, the concepts are the same, aren't they. If you learn that idea of
@Published, views, the body property, and similar, plus
HStack, and all those things. Fine, you have to still tailor your code on each platform so it looks great on macOS, it looks great on watchOS with a digital crown or other hardware-specific features. But the concepts, they're totally shared. So you learn those once in iOS and you could build watchOS if you had an app idea, right?
Kaya Thomas: Definitely. I feel confident that I would be able to.
Paul Hudson: So what's keeping you away from macOS then? It's great fun.
Kaya Thomas: I don't know. To be honest, I don't really use a lot of Mac apps besides Xcode and Safari or Google Chrome. And so I guess it's more on my side of, because I don't use Mac apps that often I'm not entitled to build one there.
So I think that's probably what's really holding me back. I think the Mac app community is awesome. I think there are a lot of great apps out there. Besides my being on my computer for like coding and things, I don't really use my computer that much. Like I'll use my phone or my iPad otherwise.
“If maybe I wanted to build a developer tool or things like that, I think that's where Mac apps can really be powerful. And we have seen like a lot of really cool development tools from the community come out.”
Paul Hudson: Did Apple know this before they gave you that amazing Mac? The MacBook Pro 16-inch – did you say, "Hey, I barely use my Mac. It's okay."
Kaya Thomas: Yikes! This is what you get when you record live, right? There's no editing.
I mean, like I said, I use it, I have to use my Mac for my full time job for coding and Xcode and everything. But when it comes to just me just browsing and doing random stuff as like a regular person outside of being a developer, I'm using my phone, I'm using my iPad. So I think the Mac is a great development tool and development machine.
And I kind of view it like that – I'm viewing it as a machine to develop apps and to work on. But when it comes to just being a regular person and browsing and having fun, I'm going to be using my phone and my iPad. So I think that's why I really haven't been enticed to build a Mac app. If maybe I wanted to build a developer tool or things like that, I think that's where Mac apps can really be powerful. And we have seen like a lot of really cool development tools from the community come out. And so maybe there, if I found a issue that I was like, "Oh-
Maybe there, if I found an issue that I was like, “oh, well maybe I can build a developer tool.” I would definitely think about it.
This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.
SAVE 50% To celebrate Black Friday, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Link copied to your pasteboard.