Apple first released Swift Playgrounds as an iPad app in 2016, followed by a macOS version in 2020. This free application allows you to edit the code in one window and see how it will look in the finished application in another (in real time). There are built-in lessons and challenges to work with, and you can download sample playgrounds to see how they work. It is designed to teach you the basics with step-by-step tutorials and flag errors in your code as you type it. An iPhone app can be built entirely in Swift Playgrounds, but you can also export projects to Xcode (full Apple development environment).
“Apple has provided a lot of programming guides for Playgrounds for beginners, but after a while I needed more detailed and extended information,” says Kumar. He felt that he lacked the programming experience needed to understand the developers’ dense documentation. “The main way I learned how to develop iOS apps was by browsing websites like Hacking with Swift as well as finding code snippets on Github“.
Ben Robinson, young developer Anxiety Relief: Find Your Peace of Mindtells a similar story. He started developing his first full-fledged iPhone app when he was 13 years old, but has been learning programming for a couple of years now.
“Apple’s documentation seemed pretty intimidating at first,” Robinson says. – If I didn’t know exactly how the API [application programming interface] worked, it can be hard to find the specific component I need. It’s a mental leap from procedural thinking to code abstraction and object-protocol-oriented design.”
At first, he got bogged down in thinking too literally about everything he coded and trying to implement functions that performed too many operations. But he says the iOS developer community has been supportive and has offered plenty of resources to draw on. Like Kumar, Robinson found Paul Hudson’s Tutorials Hacking With Swift useful as they helped him figure out a number of APIs and encouraged him to create something with them along the way.
“I didn’t know the app developers; when I got stuck, I was usually left at the mercy of whatever answers I could find on Stack Overflow“, – says Robinson. “All self-taught developers face this problem, but it also made me more resilient and independent. I became more confident in myself, thinking logically about problems when they arise, and I solve them effectively.”
Robinson kept doing iOS version of the party game Mafia 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 take over,” he says as advice to aspiring young developers. “If your idea excites you enough, you can always learn the skills needed to bring it to life.”
Kumar echoed this sentiment, adding that it’s best to start with a few small projects focused on the things you really care about. This way you learn quickly and have more motivation to finish. It also suggests spending a decent amount of time brainstorming and visualizing your application before you start coding.
As for our cat app, it was slow. My kids have conscientiously designed icons, collected facts about cats, and tried to decipher the meows and moans of our two own cats, hoping for a Rosetta Stone type discovery that would allow us to develop an app that could translate their sounds. When it came to coding, more and more of the hard work fell on me. Unfortunately, I struggled to find the time, and to be honest, I’m not a coder. My kids have watched tutorials and messed around with Swift Playgrounds, but even with the examples it takes time to get the concepts right.
We managed to put together a cat facts app and a random quote generator, but it became clear that our skills were somewhat behind our original goal. The kids weren’t impressed, and my attempts to curb the creep of the devils weren’t successful. When I presented this story optimistically, I envisioned an upbeat and inspiring development story for our app, and this is where you can go to the App Store to see our moderately impressive result. Well, reality bites.
By the time the children returned to school, a completed application was clearly unlikely. There is no good way to tell someone that their project is mothballed, but in the end I was spared. The last nail in the coffin was driven when my youngest informed me that someone had already done it. cat translation app and gently offered to work on the website instead. So our project ended up in a junkyard (as most app projects do, no doubt), but the journey was fun and we all learned something- newfound respect for app developers who go all out.