Your First iOS and SwiftUI App

Updated for 2019! If you're a complete beginner to iOS and SwiftUI development and wondering how to get started, this is the course for you. 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 the basics of SwiftUI, a new way for iOS developers to build user interfaces for their apps using Swift. Then, you’ll master app fundamentals like strings, variables, and app state. 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:

  • OO programming
  • Swift Basics
  • Methods
  • Strings
  • Variables
  • Scope
  • SwiftUI Views
  • SwiftUI State
  • SwiftUI Bindings
  • Bug Fixes
  • Popups
  • Devs Docs
  • Styling

Part 1: Getting Started with SwiftUI

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

Learn about the differences between SwiftUI and UIKit, and whether you should learn SwiftUI, UIKit, or both.

03
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!

04
Toggle description

Use SwiftUI's Canvas editor to easily add text fields and buttons to your app, in a visual manner.

05
Toggle description

Learn the basics of object-oriented programming, so you can better understand the Swift code created for you by the SwiftUI Canvas editor.

06
Toggle description

Learn how to connect your button to some Swift code that prints a message to the console.

07
Toggle description

Learn about an important concept called SwiftUI state, which helps you keep your user interface and app state always consistent.

08
Toggle description

Learn how to solve problems beginners frequently run into, such as what to do when your code has an error.

09
Toggle description

Practice what you've learned so far by adding a knock-knock joke to your app.

10
Conclusion 0:48
Toggle description

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

Part 2: Creating User Interfaces with SwiftUI

11
Toggle description

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

12
Toggle description

Learn how to convert your app from portrait to landscape mode, and how to configure the SwiftUI preview accordingly.

13
Toggle description

Learn what SwiftUI Views are, and discuss the general plan for the views you will use in Bull's Eye.

14
Toggle description

Through a combination of the SwiftUI Canvas editor and writing code manually, lay out the first three rows in the Bull's Eye user interface.

15
Toggle description

Practice what you've learned by laying out the final row of the Bull's Eye user interface.

16
Toggle description

Learn how you can make Bull's Eye look a bit less cramped through the use of SwiftUI spacers and padding.

17
Toggle description

Use SwiftUI bindings to keep the value of the slider synchronized with a state variable.

18
Strings 2:50
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.

19
Variables 8:02
Toggle description

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

20
Conclusion 0:37
Toggle description

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

Part 3: Swift Basics

21
Toggle description

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

22
Toggle description

Learn about the pre-built data types and functions you can use in your apps to solve a variety of common tasks.

23
Toggle description

Learn the syntax to write your own methods in Swift.

24
Toggle description

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

25
Toggle description

Learn how to write if/else statements in Swift, and how you can use them to implement the algorithm.

26
Toggle description

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

27
Toggle description

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

28
Toggle description

Learn how something called Swift type inference can help make your code more concise and easy to understand.

29
Toggle description

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

30
Conclusion 0:35
Toggle description

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

Part 4: More Swift Basics

31
Toggle description

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

32
Toggle description

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

33
Toggle description

There's a subtle bug where Bull's Eye doesn't calculate the correct score. Learn why this is happening, and how to fix it.

34
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.

35
Toggle description

Add some polish to the app by telling the player how well they did each round.

36
Toggle description

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

37
Toggle description

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

38
Conclusion 0:27
Toggle description

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

Part 5: Styling the App

39
Toggle description

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

40
Images 7:31
Toggle description

Learn how to add images into your app, and how to name and size images.

41
Toggle description

Learn how you can use SwiftUI view modifiers to easily style groups of views within your apps.

42
Toggle description

Practice creating view modifiers by styling the value labels in Bull's Eye.

43
Toggle description

Learn how to customize the buttons and sliders in the app so they look nice.

44
Toggle description

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

45
Toggle description

Get some more practice with view modifiers by adding some style to the About page.

46
Toggle description

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 2:06
Toggle description

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