Your First iOS and SwiftUI App: An App From Scratch

Updated for 2020! 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
Download materials
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 scratch.

You'll start by learning the basics of SwiftUI, a new way for iOS developers to build user interfaces for their apps using Swift. You'll also dive into the Swift programming language itself, learning fundamentals like if/else statments, variables, constants, type inference, and the Swift standard library. You’ll add more cool functionality to your game and practice your new coding skills.

You'll even learn useful techniques you'll use as a developer in the real world, like App Architecture and Unit Testing!

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

Covered concepts

  • Swift Basics
  • Methods
  • Strings
  • Variables
  • Type Inference
  • SwiftUI Views
  • SwiftUI View Modifiers
  • SwiftUI State
  • SwiftUI Bindings
  • App Architecture
  • Unit Testing
  • Bug Fixes
  • Using Developer Docs

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

Learn how to create user interfaces in SwiftUI by constructing a tree of Views, such as Text, Slider, and Button.

05
Toggle description

Learn how you can use SwiftUI View Modifiers like shadow, corner radius, or border to modify the style of your views.

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

07
Toggle description

Practice using SwiftUI View Modifiers by styling the rest of the text views in Bull's Eye.

08
Toggle description

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

09
Conclusion 0:41
Toggle description

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

Part 2: SwiftUI Data

10
Toggle description

One part down, two to go! Let's review what you'll be learning in this part, and why it's important.

11
Toggle description

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

12
Toggle description

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

13
Toggle description

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

14
Toggle description

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

15
Strings 2:20
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.

16
Variables 9:09
Toggle description

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

17
Toggle description

Learn how you can use some basic concepts of app architecture to make your code more clean and maintainable.

18
Toggle description

Create a basic data model for Bull's Eye, that stores the target, current round, and total score.

19
Conclusion 0:42
Toggle description

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

Part 3: Coding in Swift

20
Toggle description

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

21
Toggle description

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

22
Toggle description

Learn how you can add unit tests to your app to automatically verify your app works the way you expect.

23
Toggle description

Learn how you can use test driven development to write tests for your code before you write the code itself, and why this can be beneficial to you.

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 fewer 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
Conclusion 3:13
Toggle description

Congrats on finishing the course and building your first app! Let's review what you learned and discuss where to go from here to continue your iOS and Swift learning journey.