The MacOS version of Swift Playgrounds was released in 2020. It's free and allows you to modify code in one window and see how it will look in the final app. You can load playground examples to see how they work. It's designed to teach you the basics with guides, but it flags errors as you type. Swift Playgrounds can be used to create your iPhone app, but you can also use Xcode to create projects.

Kumar says that Apple gave him a lot of beginner-level coding guides, but after a while he needed more detailed and advanced information. He didn't have the coding experience to comprehend the dense documents. The main way I learned how to develop an app was by looking at websites.

Ben Robinson told a similar story. He had been learning how to program for a couple of years when he started developing his first app.

Robinson says that Apple's Documentation was intimidating at the beginning. It could be hard to find the component I needed if I didn't know how an application programming interface works. A mental leap from thinking about procedurally to abstracting your code and using object/protocol oriented designs is required.

He got bogged down by thinking about everything he was coding and trying to do too much. He says the developer community was supportive and gave him a lot of resources to use. Robinson found Paul Hudson's hacking with swift tutorials helpful as they helped him through a range of APIs and encouraged him to build things with them.

When I got stuck, I was usually left at the mercy of whatever answer I could find on Stack Overflow. It's a problem that self-taught developers all face. I think logically when issues arise and deal with them effectively.

Robinson hopes to pursue a career in the technology sector after making aniOS version of Mafia to play with his friends. Go for it if you have an idea. He says that you never know which idea will be the most popular. You will always be able to learn the skills you need to make it a reality if you want to.

Kumar said it's best to start with a few small projects that are focused on something you really care about. It's better to learn quickly and have more motivation to finish. He suggests that you spend a good amount of time thinking about your app.

The cat Napp.

The cat app wasn't very fast. 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 them to develop an app capable of translation. The heavy lifting began to fall on me. I am not a coder and I was not able to find time to do so. Even with examples, it takes a while to get your head around the concepts.

We were able to cobble together an app that displayed cat facts and a random quote generator, but it became clear that our skills were not up to par. The kids didn't like my attempts to rein in feature creeps. I imagined an upbeat and inspiring tale of our app development, and this is where you would go to see our moderately impressive result. Reality starts to bite.

It was unlikely that a completed app would be finished by the time the kids returned to school. It is not possible to tell someone their project is being canned. My youngest told me that someone had already made a cat translator app and that we should work on a website. Our project ended on the scrap heap, but the journey was enjoyable, and we all learned something.