by Chris Ching
How to get started
I often get emails asking, “How do I get started with building apps?”.
At first, it seems like a silly question to me because I see so many resources available for making apps.
But then I realize it’s not that simple:
As a beginner, you might not even know what you’re looking for.
Do I need a mac?
What’s Swift and Objective-C?
What’s this Xcode thing?
What sort of equipment do I need?
And to top it all off, there’re a lot of outdated resources out there. The worst part is that you might not even be able to tell that it’s no longer relevant if you’re just starting out.
Talk about frustration and huge amounts of wasted time!
Your first 3 steps for building apps
This guide on how to make an app is going to change all that.
1. Orientation: All of the tools that are available. Which ones are important and which ones are not.
2. Mindset: The critical mindset to prime yourself for learning app development.
3. Core Skills: The essential skills for building a solid iOS foundation if you want to make app after app…
Let me promise you this:
You’re going to have completed your first app within the next 20 hours.
It’s time to catch you up to speed and give you the lay of the land. Let’s do this in a quick question/answer format!
What do I need to learn in order to build my app?
I recommend to focus on the core/basic skills first which you’ll find from the lessons below. After that, you’ll have to identify which traits your app has in order to know what to learn next.
For example, if your app needs to have users register and login then you’ll need to have a database to store that data. I’m writing an article that can help you with identifying those traits once you’ve completed the basic training. Make sure you’re on my newsletter to be notified when it’s published!
How long will it take for me to build my app?
This is a really hard question to answer because some apps are easy, some are complex and everyone learns at different speeds. Also some people have really busy schedules so they can’t dedicate much time to learning.
In terms of number of hours, I would say at least 20 to get some of the fundamentals down.
I would also recommend that you try to find a little bit of time each day to learn rather than saving it all for a Sunday evening because if you wait 7 days in between lessons, you’ll spend a lot of time backtracking to remember where you left off.
Should I learn Swift or Objective-C?
Swift all the way because it’s what Apple has transitioned to.
It’s way easier for beginners to pick up and now that it’s open source, Swift is beginning to be used for other things as well such as server side development.
Lastly, it’ll also make it a lot easier to find tutorials on the net for Swift because most educators have moved to teaching with Swift.
Do I need a Mac? (Can I use a PC?)
Technically yes, because the program where we write Swift code and design the app is a MacOS app and Apple hasn’t released a Windows equivalent.
Two solutions you can try instead of buying a Mac:
- Use a Mac remotely via MacInCloud.com
- If you’re technical enough, use virtualization software such as VMWare Workstation and VirtualBox to run MacOS on your PC.
In addition to that, there’re a lot of third party solutions to create iOS apps where you wouldn’t need a Mac at all.
Here are some that you can check out:
I’ve written a full guide here on options for Windows users: Xcode on Windows
If you are thinking about buying a Mac, you can buy used to save some money. An iMac, MacBook, Mac Mini.. any will work.
As long as it can run the latest operating system, you’ll be good to go because Xcode usually requires the latest.
A safe bet for current compatibility and getting mileage out of your purchase is to get something less than 2 years old.
What sort of equipment do I need?
Aside from a Mac (or using one of the PC solutions above), not much else!
You’ll need to download Xcode for free from the Mac App Store.
Swift doesn’t need to be downloaded separately.
Then you just need to launch Xcode and start following along!
If you want to publish your app into the App Store, you’ll need to pay for an Apple iOS Developer Membership which costs around $99/year.
You don’t need to pay anything if you just want to run the app on your own device.
2. The Mindset for Success
I’ve guided over 3000 students through learning app development and here’s one interesting observation that I’ve made:
I’ve noticed that having the right mindset when starting out is a strong predictor of whether or not the student will succeed.
So what’s this mindset?
Impatience leads to frustration which leads to quitting.
As with learning anything new, there’s going to be roadblocks and obstacles but this is where having the right mindset is so important.
Those obstacles are opportunities for growth and learning.
As a seasoned programmer, I can tell you that a large part of building apps will be troubleshooting and figuring out why your app doesn’t work the way you intended it to.
25% coding, 75% debugging
It’s not a knock against the coder; it’s just that when you’re writing code, it’s impossible to foresee 100% of the user scenarios and edge cases and interactions with other parts of your code.
There’s bound to be bugs and unexpected behavior and then you’re going be spending a lot of time debugging and trying to figure out how to fix it.
Don’t let that discourage you though because the feeling that you get when you finally solve the problem is a natural high like no other!
Not to mention that by overcoming your roadblock, you “level up” and learn a lot!
When you get very familiar with Swift code and Xcode, you’ll find that you can hack together an app idea really quickly but the majority of time afterwards is spent refining, debugging and polishing your app.
What’s “The Hump”?
Before you can hack together a prototype of any app idea in a weekend, you have to pass “The Hump”.
This is a certain point on the learning curve where too many beginners have given up.
They encounter their first adversity and experience frustration.
Things aren’t going smoothly.
Rather than facing it, overcoming it and learning from it, they decide that app development isn’t for them.
It’s a graveyard of lost hopes and dreams 🙁
If you can beat “The Hump”, you’ll be flying and learning faster than you thought you ever could.
This is where having the right mindset makes all the difference!
3. Core Skills
It’s time to put the pedal to the metal.
The 11 lesson mini-course below will teach you the core skills you need to build any sort of app.
It’s designed with beginners in mind and you don’t need any coding experience (if you already have a programming background then you’ll fly through it!)
This is where you want to start.
You’re going to get an orientation of the development environment, a tiny taste of Swift code and you’ll also make your very first app!
1. Introduction to Xcode
In this video, I’ll tell you what you need to learn and give you a tour of Xcode.
2. All About Auto Layout
Jumping right in, you’ll learn how to build layouts.
3. How To Use Stack Views
Learn how to use Stack View elements to build layouts much more easily.
4. Assembling the War User Interface
Put your skills to the test by building the UI for our War Card Game.
5. Learn Swift Basics (Part 1)
Get hands on with the Swift programming language.
6. Learn Swift Basics (Part 2)
Build upon the skills from the previous lesson and learn more about Swift programming.
7. Learn Swift Basics (Part 3)
Finally, we put it all together and I’ll tell you how Swift code plays a part in your app.
8. Connecting Elements With Swift Code
You’ll learn how to connect the elements in your layout to the Swift code that you write.
9. Handling User Interaction
Learn how to capture and handle taps from the user.
10. Writing The Logic
Learn how to write code that THINKS!
11. What To Learn Next
Now that you’ve finished this app, I’ll tell you my advice for what to do next!