by Chris Ching
Thousands of people have gone through this guide and given me praise for publishing it! This guide will cover the foundation that you need in order to create any app.
I don’t care what your app idea is; I know you’ll need to do the following 5 basic things at the very least:
1. Use Xcode: Xcode is the app which is used to construct your user interface and write Swift code in.
2. Know Swift: Swift is the programming language used to make iOS apps.
3. Constructing a user interface: No matter what your app idea is, you’ll need to know how to build the screens and user interface!
4. Handling user interaction: When the user interacts with your app, learn how to respond to it.
5. Expressing computer logic: Every app does something. You need to know how to express logic and process user input!
In the following lessons, you’re going to learn these 5 things and more!
Learn how to build your own apps
Instead of paying freelancers and contractors to build your app for you, once you learn this skill, you’ll be able to create your own apps for free!
It’s really not that far fetched as long as you have the desire to learn and the persistence to keep at it and get better.
Programming can be self-taught and yes, you can start your own career in iOS development even if you don’t have a formal background.
Many of my students have done exactly this!
It’s probably the single greatest thing I love about my field; that merit is based on your achievements and hard work rather than seniority or experience (as in the case of a surgeon for example).
The biggest point of failure for beginners is giving up before they pass “the hump”
The hump is what I like to call that point where it turns from frustrating to fun. It’s kind of like that point where you’re riding your bike without training wheels for the first time and you’re really wobbly, but not falling!
Then it’s just fun from there.
So get ready, we’re getting on that bike together and going over the hump!
How to use the materials below to create your own app
- Download and print out the Swift cheat sheet below.
- Go through Lessons 1 to 17 (highly recommended to do it on your own laptop).
- Whenever you get stuck or you don’t understand something, reach out to me.
- Join my hall of fame for people who completed the app!
- Check out the next steps to keep learning…
While you’re going through the lessons below, you’ll want to keep the following resources at your fingertips.
- My Swift Syntax Cheat Sheet
I created a printable PDF cheat sheet for Swift syntax that you can keep beside you as you get used to Swift and Xcode.
- Apple’s Swift Programming Language Guide
This is a document on the Swift programming language. It’s a pretty dense read but good as a reference guide.
- The Key Takeaways Lesson Notes (for the 17 lesson below):
The Basics of How to Make an App
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 the tools and materials
An orientation of the tools and resources used for iOS development.
2. Playgrounds and Swift
An unintimidating dabbling into Swift code!
3. Xcode 8 tutorial and tour
Get acquainted with the development environment where you’ll bring your idea to life!
4. The anatomy of an iPhone app
How’s an app put together? We break it down into the major components.
5. Your first Swift app
Create your first ceremonious “Hello World” app!
Diving In: Building The War App
In Module 2, you’ll dive right into creating a simple version of the card game, War.
6. Auto Layout and Stack Views
In this lesson, you’ll see how easy it is to visually create your app interface.
7. Multiple Orientations – Size Classes
In this lesson, you’ll learn about stack views and how they can aid us in laying elements out
8. Completing the UI with Auto Layout and Size Classes
In this lesson, you’ll use what you learned about auto layout and stack views and finish adding additional elements to the user interface.
9. Basic building blocks of Swift programming
Learn about object oriented programming, classes, objects, methods and properties.
10. More Swift concepts and UIKit
In this lesson, we go through more Swift programming basics and learn about what UIKit is.
11. Hooking it all up – Swift IBOutlet properties
Now we’re ready to learn how to expose the user interface elements so you can manipulate them with code.
12. Handling button taps – Methods
We’ll go through how to capture a tap on a button so that you can respond to it!
13. Adding and displaying images in your app
Learn how to add images to your Xcode 8 project and display them in your app. You’ll also learn about various images sizes that you need for retina and high resolution displays.
14. Getting a random number and randomizing the cards
War is a game of chance, so we’ll need to know how to generate random numbers. In this lesson, we also learn how to change the card images based on the randomly generated numbers.
15. Using Arrays to manage the card images
This lesson introduces Arrays. It shows you how to use this collection class to improve the way we display the card images.
16. Determining a winner – IF statements
Implement the simple game logic in code to determine a winner.
17. Styling and keeping score
By implementing the score keeping, we’ll learn the importance of understanding scope.
Next Steps and Additional Resources
So you’ve gone through all 17 videos and you’ve successfully made your first app. Congratulations! That’s really impressive and I hope you share your success with a friend or family member!
Don’t sit on your laurels for too long though because you might forget what you’ve learned so far! So what’s next?
Continue learning of course! Here are some additional resources to learn from:
- CodeWithChris Courses
Learn how to make apps step by step even if you don’t have any programming experience. Backed and supported by me!
- Apple Playgrounds iPad App
Learn Swift with this iPad app created by Apple. Unfortunately it’s only for iPad devices.
- Stanford’s App Development Course
This free course by Stanford is for people who have a programming background to learn how to create an app for iPhone.