Apple first released Swift Playgrounds as an iPad app in 2016, and a macOS version followed in 2020. It’s free and allows you to 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 build your iPhone app entirely in Swift Playgrounds, but you can also export projects to Xcode (Apple’s full-fledged development environment).
“Apple provided a lot of beginner programming guides for playgrounds, but after a while I needed more detailed and advanced information,” says Kumar. He felt he lacked the programming experience needed to understand the dense developer documents. “I mainly learned how to develop iOS apps by looking at sites like Hacking With Swift and also found code snippets on GitHub.”
Ben Robinson, the young developer of Anxiety Relief: Find Your Calm, tells a similar story. He started developing his first real iPhone app when he was 13, but has been learning about programming for a number of years.
“The Apple documentation was pretty intimidating at first,” says Robinson. “Unless I knew exactly how an API works [application programming interface] worked, it might be difficult to find the specific component I needed. There is a mental leap from looking procedurally to abstracting your code and using object/protocol-oriented designs.”
He initially got bogged down by thinking too literally about everything he was coding and trying to implement functions that performed far too many operations. But he says the iOS developer community has been supportive and offered a wealth of resources to draw on. Like Kumar, Robinson found Paul Hudson’s Hacking With Swift tutorials helpful because they walked 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 at the mercy of whatever answers I could find on Stack Overflow,” says Robinson. “Self-taught developers all face this problem, but it has also made me more resilient and independent. I’ve become more confident in thinking through problems logically as they arise and dealing with them effectively.”
Robinson made an iOS version of the party game Mafia to play with his friends, and he’s hoping to pursue a career in tech. “If you have an idea, do it! You never know which idea will take off,” he says as advice for aspiring young developers. “If you’re excited enough about your idea, you can always learn the skills you need to make it a reality.”
Kumar echoed this sentiment, adding that it’s best to start with several small projects focused on things you really care about. This way you will learn quickly and have more motivation to complete it. He also suggests spending a decent chunk of time brainstorming and visualizing your app before you start coding.
catnap
Our cat app was slow going. My kids dutifully designed symbols, collected cat facts, and tried to decipher the meows and moans of our own two cats in hopes of a Rosetta Stone-type discovery that would allow us to create an app that could translate their sounds. When it came to programming, the heavy work fell increasingly on me. Unfortunately, I struggled to find time, and to be honest, I’m not a programmer. My kids watched tutorials and tinkered around with Swift Playgrounds, but even with examples, it takes a while to get used to the concepts.
We managed to cobble together an app that displays cat facts and a random quote generator, but it became apparent that our skills fell far short of our original goal. The kids were unimpressed, and my efforts to curb feature creep fell on deaf ears. Presenting this story in an upbeat way, I envisioned an upbeat and inspirational story of our app development, and here you would click through to the App Store to see our moderately impressive result. Well, reality bites.
When the kids went back to school, a finished app was extremely unlikely. There’s no good way to tell someone their project is going to be frozen, 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 working on a website instead. And so our project ended up on the scrap heap (like most app projects no doubt) but the journey has been fun and we’ve all learned some- newfound respect for app developers going the distance.