Skip to main content

One post tagged with "platform"

View All Tags

· 3 min read
Mario Antonetti

I've got good news or bad news, depending on what devices you use. Hamadapter has big plans, and it needs some strong platform support. I need access to the GPU and strong support for running ML models. And I want to do that on-device because that's a better user experience and a cheaper experience for the developer! That means Apple silicon and the Apple developer platform are essential. Initially, I was looking at React Native, which I use at work. However, I want to make this as unrelated to my work as possible. That ensures I stay within IP ownership boundaries while doing this hobbyist work. React Native also leans heavily on Objective-C; it's something that I'm not interested in writing adapters and working around old build systems to make it work with Swift. Instead, I will go with the standard pattern: Swift in the recommended way. However, I'll still use Vim as my editor. Apple won't take that away from me yet.

First, I will make the first screens - the "onboarding" flow for new users. I'm making this an app intended to be used on both Mac OS and iPadOS, and possibly iPhone, depending on how flexible its USB support becomes in the future.

Project initialization

Some of this blog is a review of the developer experience. I'm coming into this with no Swift or Apple development background. This year, I switched to an iPhone, a Macbook Air, and an iPad Air. I like the ecosystem, and apps developed for a tightly integrated Apple-centric experience have been the best. You get what you pay for in that regard. So far, it's been fun - Xcode updated itself, and it tells me what's new. I initialize a new project; it makes sense so far. "Bundle Identifier" makes no sense to me, but it seems to be a namespace: organization.application. Then I see "Storage" has two options: "Swift Data" or "Core Data." I asked ChatGPT (4.0) which to use, and the answer is that Core Data is better for my needs. It's an object graph. I like graph databases. Selecting "Core Data" also opened up the "CloudKit" option, which sounds pretty rad. I'll give it a try. "Include Tests?" Yes, please.

It makes a template app. A panel on the right is loading, showing an error related to provisioning and certificates. I need to spend $100 a year on the Apple Developer program. Okay. I have to scan my ID, and now I have to wait...

That's it? That's all I can do today?

There's a bunch of rigamarole required before even getting started developing. I did expect that.

I'll write the next post when things move forward.