Updated Course: Your First iOS App

If you’re a complete beginner to iOS development and wondering how to get started, this is the course for you! By Ray Wenderlich.

Leave a rating/review
Save for later
Share

If you’re a beginner to iOS development (or if you know someone who is), our Your First iOS App course is the place to start. This epic 48-episode course is updated for iOS 12 and Xcode 10.

In this course, you’ll pick up fundamental skills by creating a simple but fun iPhone game called Bull’s Eye. You’ll learn how to add controls like buttons and sliders to your app, how to access those controls from code, how to style your apps to make them look great, and even run the app on your own iPhone. Along the way, you’ll also learn the basics of programming in Swift.

Take a look at what’s inside:

Part 1: Basic Controls

Introduction: Learn about the first app you’ll build – a simple but fun game called Bull’s Eye – and get a preview of all the things you’ll learn throughout this part.

Challenge: Making a Programming To-Do List: Make a programming to-do list of all the things you’ll need to do to build the game. This helps build a good programming practice of gathering requirements first!

Buttons and Actions: Learn how to add a button to the app and connect it to some Swift code that prints a message to the console.

Alerts: Learn how to make the app display a popup alert when you tap a button.

Solving Problems: Learn how to solve problems beginners frequently run into, such as what to do when your app crashes.

Challenge: Connecting Actions: Practice connecting an action performed on a button – such as a tap – to some Swift code that you write.

How Does an App Work: Learn how apps actually work under the hood, by learning about objects, messages, and events.

Portrait vs. Landscape: Learn how to convert your app from portrait to landscape mode.

Challenge: Basic Controls: Practice adding basic controls like sliders, buttons, and labels into your app by creating the basic layout for the Bull’s Eye game.

Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.

  1. Introduction: Learn about the first app you’ll build – a simple but fun game called Bull’s Eye – and get a preview of all the things you’ll learn throughout this part.

  2. Challenge: Making a Programming To-Do List: Make a programming to-do list of all the things you’ll need to do to build the game. This helps build a good programming practice of gathering requirements first!

  3. Buttons and Actions: Learn how to add a button to the app and connect it to some Swift code that prints a message to the console.

  4. Alerts: Learn how to make the app display a popup alert when you tap a button.

  5. Solving Problems: Learn how to solve problems beginners frequently run into, such as what to do when your app crashes.

  6. Challenge: Connecting Actions: Practice connecting an action performed on a button – such as a tap – to some Swift code that you write.

  7. How Does an App Work: Learn how apps actually work under the hood, by learning about objects, messages, and events.

  8. Portrait vs. Landscape: Learn how to convert your app from portrait to landscape mode.

  9. Challenge: Basic Controls: Practice adding basic controls like sliders, buttons, and labels into your app by creating the basic layout for the Bull’s Eye game.

  10. Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.

Part 2: Outlets

Introduction: Let’s review what you’ll be learning in this part, and why it’s important.

Objects, Data and Methods: Learn the basics of object-oriented programming, so you can better understand the Swift code you are writing.

Strings: Learn about a very important data type you’ll use in your iOS apps, which you can use to store a sequence of characters.

Variables: Learn how to detect when the user moves the slider, and how to store the result in a variable.

Challenge: Your First Bug: In this challenge, you’ll come across your first bug – and you’ll try and fix it.

Connecting Outlets: Learn about one of the fundamental techniques in iOS development: connecting views like buttons or labels from your storyboard to outlets in your code.

Writing Methods: Learn how to add multiple rounds into Bulls-Eye, and how to write your own methods along the way.

Challenge: Connecting Outlets: Get some more practice connecting views from your storyboard to outlets that you can access from Swift code.

Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.

  1. Introduction: Let’s review what you’ll be learning in this part, and why it’s important.

  2. Objects, Data and Methods: Learn the basics of object-oriented programming, so you can better understand the Swift code you are writing.

  3. Strings: Learn about a very important data type you’ll use in your iOS apps, which you can use to store a sequence of characters.

  4. Variables: Learn how to detect when the user moves the slider, and how to store the result in a variable.

  5. Challenge: Your First Bug: In this challenge, you’ll come across your first bug – and you’ll try and fix it.

  6. Connecting Outlets: Learn about one of the fundamental techniques in iOS development: connecting views like buttons or labels from your storyboard to outlets in your code.

  7. Writing Methods: Learn how to add multiple rounds into Bulls-Eye, and how to write your own methods along the way.

  8. Challenge: Connecting Outlets: Get some more practice connecting views from your storyboard to outlets that you can access from Swift code.

  9. Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.

Part 3: Coding Basics

Introduction: Let’s review what you’ll be learning in this section, and why it’s important.

Challenge: How to Calculate the Difference: See if you can figure out an algorithm to calculate the positive difference between the target value and the slider value.

Calculating the Difference: Implement the algorithm you just designed to calculate the difference using Swift.

Challenge: Calculating the Difference: Try improving the algorithm to calculate the difference so it is written in less lines of code.

Variables vs. Constants: Finalize the difference algorithm and score calculation, and learn about an important Swift concept: the difference between variables and constants.

Type Inference: Add the ability to track the user’s total score, and learn about something cool called Swift type inference along the way.

Challenge: Showing the Score: Practice some coding basics by modifying Bull’s Eye to display the player’s total score.

Challenge: Tracking Rounds: It’s time for an even bigger challenge: modifying Bull’s Eye to keep track and report the current round of the game.

Adding Polish: Polish the app by telling the player how well they did each round.

Challenge: Adding Polish: Get some final practice with coding basics by giving the user bonus points if they are very close to the target.

Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.

  1. Introduction: Let’s review what you’ll be learning in this section, and why it’s important.

  2. Challenge: How to Calculate the Difference: See if you can figure out an algorithm to calculate the positive difference between the target value and the slider value.

  3. Calculating the Difference: Implement the algorithm you just designed to calculate the difference using Swift.

  4. Challenge: Calculating the Difference: Try improving the algorithm to calculate the difference so it is written in less lines of code.

  5. Variables vs. Constants: Finalize the difference algorithm and score calculation, and learn about an important Swift concept: the difference between variables and constants.

  6. Type Inference: Add the ability to track the user’s total score, and learn about something cool called Swift type inference along the way.

  7. Challenge: Showing the Score: Practice some coding basics by modifying Bull’s Eye to display the player’s total score.

  8. Challenge: Tracking Rounds: It’s time for an even bigger challenge: modifying Bull’s Eye to keep track and report the current round of the game.

  9. Adding Polish: Polish the app by telling the player how well they did each round.

  10. Challenge: Adding Polish: Get some final practice with coding basics by giving the user bonus points if they are very close to the target.

  11. Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.