Your First iOS and UIKit App

This is an alternative version of Your First iOS and SwiftUI App - but instead of using SwiftUI to build the user interface, it uses UIKit. By Ray Wenderlich.

Leave a rating/review
Save for later
Comments
Share

Who is this for?

Total beginners — no Swift, iOS, or previous developer knowledge required! This course walks you through building an app from start to finish.

You’ll start by learning about basic controls and how apps work under the hood. Then, you’ll master app fundamentals like outlets, strings, and variables. You’ll even learn how to fix bugs! You’ll get a primer in coding basics to level-up your app-development skills. You’ll add more cool functionality to your game and practice your new coding skills.

Finally, you’ll amp up the flair by learning how to style your app!

This course isn’t suited for intermediate or advanced developers. If that’s you, check out our intermediate or advanced video courses for more ways to level-up your developer skills!

Covered concepts

This course covers all the concepts you’ll need to build your first app! Here are some of the topics you’ll conquer along the way:

  • Swift basics
  • OO programming
  • iOS ecosystem
  • Controls
  • Methods
  • Strings
  • Outlets
  • Autolayout
  • Variables
  • Functions
  • Bug Fixes
  • Popups
  • Notifications
  • Saving Data
  • User Interface
  • Score Tracking
  • App Store
  • Styling

Part 1: Basic Controls

01
Toggle description

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.

02
Toggle description

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!

03
Toggle description

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

04
Alerts 5:30
Toggle description

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

05
Toggle description

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

06
Toggle description

Practice connecting an action performs on a button - such as a tap - to some Swift code that you write.

07
Toggle description

Learn how apps actually work under the hood, by learning about objects, messages, and events.

08
Toggle description

Learn how to convert your app from portrait to landscape mode.

09
Toggle description

Practice adding basic controls like sliders, buttons, and labels into your app by creating the basic layout for the Bulls-eye game.

10
Conclusion 0:29
Toggle description

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

Part 2: Outlets

11
Toggle description

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

12
Toggle description

Learn the basics of object-oriented programming, so you can better understand the Swift code you are writing.

13
Strings 3:36
Toggle description

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

14
Variables 8:14
Toggle description

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

15
Toggle description

In this challenge, you'll come across your first bug - and you'll try and fix it.

16
Toggle description

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

17
Toggle description

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

18
Toggle description

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

19
Conclusion 0:30
Toggle description

Let's review where you are with your programming to-do list, and discuss what's next in this course.

Part 3: Coding Basics

20
Toggle description

Let's review what you'll be learning in this part of our Your First iOS App course, and why it's important.

21
Toggle description

See if you can figure out an algorithm to calculate the positive difference between the target value and the slider value.

22
Toggle description

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

23
Toggle description

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

24
Toggle description

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

25
Toggle description

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

26
Toggle description

Practice some coding basics by modifying Bull's Eye to display the player's total score.

27
Toggle description

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

28
Toggle description

In this video you will add some polish to the app by telling the player how well they did each round.

29
Toggle description

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

30
Conclusion 0:45
Toggle description

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

Part 4: Coding Practice

31
Toggle description

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

32
Toggle description

Try this challenge to make sure you understand the difference between local and instance variables, which is a common point of confusion for beginners to programming.

33
Closures 4:43
Toggle description

Learn how to use an important construct in Swift called closures, which you often use to provide a block of code that is executed some time in the future.

34
Toggle description

Get some more coding practice by implementing the "Start Over" button in Bull's Eye.

35
Toggle description

Learn how to add multiple screens to your iOS apps, by adding an About screen into Bull's Eye.

36
Toggle description

Practice adding multiple screens into your iOS apps, by adding an About the Author screen into Bull's Eye.

37
Conclusion 0:23
Toggle description

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

Part 5: Styling the App

38
Toggle description

Let's review what you'll be learning in this section of the course, and why it's important to learn.

39
Toggle description

In this video you'll learn how to add a background image to your app, and how to style labels.

40
Toggle description

In this challenge, you'll style the rest of the labels in Bull's Eye.

41
Toggle description

Learn how to style buttons to use custom images, and how to style sliders to use custom thumb images.

42
Toggle description

In this challenge, you'll get practice with styling your apps by improving the look of the About screen.

43
Toggle description

Learn how to add web views into your apps to display web pages, and learn how to use Xcode's developer documentation in your day-to-day development.

44
Toggle description

Learn how to use Auto Layout, a core UIKit technology that makes it easy to support many different screen sizes.

45
Toggle description

In this challenge, you'll get practice with auto layout by setting up Auto Layout on the About screen.

46
Toggle description

In this video you'll learn how to set up your app icon, and how to change the display name of your app.

47
Toggle description

Learn how to run your app on your own physical device so you can carry it around and show it off to your friends!

48
Conclusion 1:05
Toggle description

Let's review what you learned in this course and discuss where to go from here to continue your iOS learning journey