AppleOS Developer's Thread

I was listening to, I think, the Stacktrace podcast, and one of the listener questions was "Do you think there's a secret AppleOS project that unifies all the different OSes?" The answer was something like, "It's not secret. There's one common OS system that backs all the various OSes." In that vein, I thought we could have a thread for Apple development in general, be it macOS, iOS, iPadOS, tvOS, or watchOS.

So I'll start. My iOS app* is a tabbed app with three functional screens (tabs) and a settings tab, and I'm unsure how I want to setup my project layout on disk as I rewrite it. It's of course easiest to just have all the source code in the main project directory, but I'm tempted to have a directory for each tab and put all the relevant source files in them. I switch between AppCode and Xcode, so that may play into things (assuming AppCode gets SwiftUI support in the near future). How do you organize your projects?

* Oh god. Looking at the horrible app store page I'm beginning to realize just how much work I have cut out for me. Not only do I have to learn Swift and SwiftUI (the whole point of the rewrite), I have to recreate all my assets, both app and store, and copy. Ugh. As this is just a side project I have almost no time for, this is not going to be fast.

This may be a digression from your intent for this thread but, to me, SwiftUI is the first step to abstract away the OS. Much like Apple’s universal packages abstract away the hardware, at some point, developers won’t care about the OS either. They will use Apple tools to develop an app, and the tools will do the rest.

I usually organize by feature or screen, with a section for app wide extensions, as well as networking, and perhaps a separate framework for designable UI (since IBDesignable doesn't like being in the main app target). Since Xcode will now maintain the directory layout on disk to match your project layout for you, it's much easier to keep the two in sync.

short answer, probably is no; longer answer is a long the lines of just look at recent stuff apple is doing. i think having a common backbone, and common frameworks is the goal. so they can have DSL based OS's. whithout to much trouble. look at MS, large fat based OS. good on decent hardware but kinda sucks on low end stuff. hell even MS used Linux for there IOT.

apple by going the DSL route and have a common backbone and frameworks hopes to avoid that.

I doubt it but I'd love to know what Apple's plans regarding the iCloud website is. Having a way to compile to the web would be useful.

I'm also curious as to how they handle in the future Windows for iCloud syncing.

There is an extremely active Swift for Servers working group that’s moving quite fast towards a complete web server stack in Swift. The long term goal is surely to have once code base for things like iWork iOS, macOS and the web (at least the back end).

There is an extremely active Swift for Servers working group that’s moving quite fast towards a complete web server stack in Swift. The long term goal is surely to have once code base for things like iWork iOS, macOS and the web (at least the back end).

I've not followed that too much, but I thought the focus was more server backend stuff rather than the browser side Javascript stuff. i.e. more replacing Java or PHP backend with Swift. If they're also doing browser based UI then that's kind of interesting. Especially if they port SwiftUI over.

Question for other devs out there: how much does a good GPU matter to xcode? I do iOS work as a side hustle using my home computer - an iMac. This has always worked out well for me since my main gig had a lot of telework that I could do through VMWare View from the same device. But... I just got a new job and for the new job they require you to use a work issued laptop when teleworking. So I’m going to move to a Mac Mini + external monitor (that I can switch to the work laptop when need be) and I’m wondering how important the GPU really is? Is it going to be worth my while to budget for an eGPU?

There is an extremely active Swift for Servers working group that’s moving quite fast towards a complete web server stack in Swift. The long term goal is surely to have once code base for things like iWork iOS, macOS and the web (at least the back end).

I've not followed that too much, but I thought the focus was more server backend stuff rather than the browser side Javascript stuff. i.e. more replacing Java or PHP backend with Swift. If they're also doing browser based UI then that's kind of interesting. Especially if they port SwiftUI over.

Yeah, backend server work. So the model for something like iWork could live in Swift on the backend and the front end views would continue to be JavaScript.

That said, one of the explicit goals of the function builder syntax used for SwiftUI is to support declarative programming like html. So it seems obvious to me that eventually (3-4 years???) Apple is going to make a play for Swift in the browser.

That said, one of the explicit goals of the function builder syntax used for SwiftUI is to support declarative programming like html. So it seems obvious to me that eventually (3-4 years???) Apple is going to make a play for Swift in the browser.

It's definitely possible. I'd think with the rise of Electron and so forth that it wouldn't be enough to slow the bleeding with things like Marzipan/Catalyst. Rather you want to move the pendulum in the other direction by having a quasi-cross platform compile ability. That's what Microsoft has been moving to with Office and I have to imagine Apple's iWork team at minimum sees that. Ideally you'd like to compile not just for the web but also for Windows and maybe even Linux. We'll see if they do it though. The fact there isn't a new Windows iTunes suggests they're waiting for something though.

Question for other devs out there: how much does a good GPU matter to xcode? I do iOS work as a side hustle using my home computer - an iMac. This has always worked out well for me since my main gig had a lot of telework that I could do through VMWare View from the same device. But... I just got a new job and for the new job they require you to use a work issued laptop when teleworking. So I’m going to move to a Mac Mini + external monitor (that I can switch to the work laptop when need be) and I’m wondering how important the GPU really is? Is it going to be worth my while to budget for an eGPU?

It’s probably worth just trying it out before jumping on an eGPU. I’ve heard that the new Mac minis in particular are quite competent dev machines. For my few projects, it certainly didn’t seem that the GPU was overly important, but I didn’t exactly pay that much attention so I could be mistaken.

Question for other devs out there: how much does a good GPU matter to xcode? I do iOS work as a side hustle using my home computer - an iMac. This has always worked out well for me since my main gig had a lot of telework that I could do through VMWare View from the same device. But... I just got a new job and for the new job they require you to use a work issued laptop when teleworking. So I’m going to move to a Mac Mini + external monitor (that I can switch to the work laptop when need be) and I’m wondering how important the GPU really is? Is it going to be worth my while to budget for an eGPU?

I don't think Xcode does anything more with the GPU than any other GUI app (i.e. none at all really). Get as much CPU as you can.

I don't think Xcode does anything more with the GPU than any other GUI app (i.e. none at all really). Get as much CPU as you can.

Yup. Unless you're coding explicitly using APIs that leverage the GPU it's completely useless to a developer. Xcode doesn't utilize it at all for compilation. That's why the Mac Mini is actually a pretty nice little development machine. The on chip GPU from Intel is more than adequate for everything the typical developer needs. Want to game under Bootcamp? Then an eGPU might make more sense.