Apple first released Swift Playgrounds as an iPad app in 2016, and a MacOS version followed in 2020. It’s free and lets you edit code in one window and see how it will look in the finished app in another (in real time). There are built-in lessons and challenges to work through, and you can load example playgrounds to see how they work. It’s designed to teach you the basics with guided walkthroughs, and it flags errors in your code as you type. It’s possible to create your iPhone app entirely in Swift Playgrounds, but you can also export projects into Xcode (Apple’s full-fat development environment).
“Apple provided a lot of beginner-level coding guides for Playgrounds, but after awhile I needed to get more detailed and advanced information,” Kumar says. He felt he lacked the coding experience required to understand the dense developer documents. “The main way I learned how to develop iOS apps was by looking at websites like Hacking With Swift and also by finding code snippets on GitHub.”
Ben Robinson, the young developer of Anxiety Relief: Find Your Calm, tells a similar tale. He started developing his first proper iPhone app when he was 13 but had been learning about programming for a couple of years.
“Apple’s Documentation felt quite intimidating at the start,” Robinson says. “Unless I knew exactly how an API [application programming interface] worked, it could be difficult to find the specific component I needed. There is a mental leap from thinking about everything procedurally to abstracting your code and using object/protocol-oriented designs.”
He got bogged down at first by thinking about everything he was coding too literally and trying to implement functions that performed way too many operations. But he says the iOS developer community was supportive and offered a wealth of resources to draw upon. Like Kumar, Robinson found Paul Hudson’s Hacking With Swift tutorials helpful, as they guided him through a range of APIs and encouraged him to build things with them along the way.
“I didn’t know any app developers; when I got stuck I was usually left at the mercy of whatever answers I could find on Stack Overflow,” Robinson says. “Self-taught developers all face this problem, but it has also made me more resilient and independent. I’ve become more confident thinking logically through issues when they arise and dealing with them effectively.”
Robinson went on to make an iOS version of the party game Mafia to play with his friends, and he hopes to pursue a career in the technology sector. “If you have an idea, go for it! You never know which idea will be the one to take off,” he says as advice for aspiring young developers. “If your idea excites you enough, you’ll always be able to learn the skills you need to make it a reality.”
Kumar echoed those sentiments, adding that it’s best to start with multiple small projects focused on things you’re really interested in. That way you learn fast and have more motivation to finish. He also suggests spending a decent chunk of time brainstorming and visualizing your app before you start coding.
As for our cat app, it was slow going. My kids dutifully designed icons, compiled cat facts, and attempted to decipher the meows and groans of our own two cats, hoping for a Rosetta Stone–type discovery that would allow us to develop an app capable of translating their sounds. When it came to coding, the heavy lifting increasingly fell on me. Sadly, I struggled to find time, and truthfully, I am no coder. My kids watched tutorials and tinkered with Swift Playgrounds, but even with examples, it takes a while to get your head around the concepts.
We managed to cobble together an app displaying cat facts and a random quote generator, but it was becoming clear that our skills fell some way short of our original goal. The kids were unimpressed, and my efforts to rein in feature creep fell on deaf ears. When I optimistically pitched this story, I imagined an upbeat and inspiring tale of our app development, and this is where you’d click through to the App Store to see our moderately impressive result. Well, reality bites.
By the time the kids went back to school, a completed app was distinctly unlikely. There’s no good way to tell someone their project is being canned, but in the end, I was spared. The final nail in the coffin came when my youngest informed me that someone had already made a cat translator app and gently suggested we work on a website instead. And so, our project ended on the scrap heap (as, no doubt, most app projects do), but the journey was fun, and we all learned something— newfound respect for app developers who go the distance.