Getting From Learning How To Code To Building Your Own App
Recently, someone asked me: “I’ve completed learning Swift, but I’m finding myself unable to develop apps on my own. What should I do?”
A very solid question! And an understandable one: sometimes you’re so busy learning programming, that you actually forget to learn what you can do with it. Thankfully, I found myself in the same position a couple of years back and I’m happy to share with you what I learned.
Apps And Code Are Not Created Equal
First off, making apps and programming are two very different things. The latter means you know how to write code, and how to solve a problem in technical terms, by means of instructing a computer what to do. The former means a lot more than that.
Making apps is: planning architecture and structure, knowing a bit of design, knowing how to create a user interface and experience, and so on. It’s the ultimate application of knowledge, really, to go from programming to creating your own apps.
Briding The Gap: Learning How To Plan
Back when I was younger, I wasn’t really good at planning. I would apply what I now know as The Waterfall Method. When working on a project, I’d just start somewhere. Of course, I’d end up somewhere too, but rarely that was where I wanted to go initially. You can steer your boat a bit before you fall off the face of the waterfall, maybe. Most of it is just house-of-cards guesswork.
The first step to get from coding to app, is to learn how to plan. Pick a project, anything. Here’s some app project ideas:
- A to-do list app
- An app you can use to send photos to other people
- A chat app
These are medium-sized projects, and will at least take you a couple of days to create an initial prototype. They’re perfect!
OK, here’s what you do next: you divide the app project up in smaller pieces. A to-do list app has multiple screens, so the creation of each of the screens is a separate task in your project. The chat app has both front-end and back-end functionality, there’s got to be a webserver that handles message sending between people. So, you divide the front- and back-end in two tasks!
Then, divide some more. You go 3 layers of tasks deep. You need to define each of the tasks very clearly, like this: Create one to-do list interface, called “Create New To-Do”, that can create a new to-do, with one input field (the text of the to-do) and a submit button.
Now, you can execute such a task, right?
Programming Is Solving Problems
You know Swift programming, but you don’t know how to make apps. By dividing a real-life app project up into simple tasks, you can find out if you can apply your Swift programming skill to such a simple task. The key of programming is knowing how to solve a problem with code. If you don’t know how, you can find out how!
In order to create that to-do list interface, you might need to find out:
- How can I install Xcode?
- How do I add a new Interface Builder file to my project?
- How do I add UI elements to the interface?
- How do I connect the UI elements to code?
- How can the user now navigate the app?
- How do I test my app?
By breaking down a big project into smaller steps, and by filling your knowledge gaps with new questions, you’ve gone from indecision to action. First, you didn’t know how to apply your newly achieved Swift programming skill to a real-life project – and now you do.
Join 11.000+ app developers and marketers
- Every Monday: get curated app marketing news, resources, tools and goodies in your inbox
- Grow your app's userbase with the latest App Store Optimization and app marketing strategies
- FREE: Get the free step-by-step Get Started With Your App Idea guide to set yourself up for App Store success!
Comments & Thoughts
On The Blog
Creating App Install Opportunities With Deeplinking
For any app developer or app publishing company getting new customers to install their apps is paramount. Gaining traction, growing a customer base and making sales is key to any business, but for an app publisher it all starts no sooner than their app is installed on a user’s phone. One way a publisher can increase their install-rate, is to use a system called deeplinking.
Great App Ideas: The X-for-Y
During the LearnAppMaking.com course, I ask students to think of a major competency they have. Like psychology, being a dentist, having a brick and mortar business. This is the X-for-Y Archetype, it's a business they're going to apply a principle to from another business. Are there any X-for-Y ideas you can come up with?
How Does One Effectively Market An iPhone App?
Effectively marketing an iPhone app has nothing to do with the uniqueness of your idea, your marketing efforts or budget, the likeability and popularity of your brand, or even with how much 5-star reviews you have in the App Store. But how does one effectively market an iPhone app?