

Writing software with Apple’s APIs is a powerful but difficult practice, and Swift Playgrounds’ penchant for hiding true complexity makes it hard to recommend for someone who doesn’t want to just “learn how to code” but instead wants to build something.Īpple would do its learners a huge service by providing them an Xcode equivalent on the iPad. I got stuck when my API call to Apple’s sound playback system wouldn’t work, despite all my best efforts at debugging. I’ve actually worked on an app using Apple’s ARKit and SceneKit APIs directly. The Swift Playgrounds fantasy of what ARKit is like is closer to an ad than a tutorial. Software involving 3D graphics is, if I had to give a ballpark estimate, like, 3 x as difficult. It’s nested within Apple’s overall application framework, deals with SceneKit, and isn’t scared to inform you that vector math exists.ĭoes it seem difficult and complicated to you? That’s not because Apple did a bad job on ARKit, it’s because most software is difficult and complicated. In contrast, here’s Apple’s introduction for developers on making an ARKit app in Xcode. Mostly you’re dealing with a few pre-written one-liners and a highly ergonomic API:

The Xcode cliff is a steep one.įor instance, here’s what writing for ARKit in Swift Playgrounds looks like. I probably wouldn’t recommend a kid learn Swift as their first programming language, not because it’s not a great and interesting language, but because the barrier to distribution and the creation of useful software is so high. Swift Playgrounds’ penchant for hiding true complexity makes it hard to recommend
