Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Your First iOS & SwiftUI App: An App from Scratch

via Independent


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 video courses 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


  • Getting Started with SwiftUI
    • 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.
    • SwiftUI vs UIKit: Learn about the differences between SwiftUI and UIKit, and whether you should learn SwiftUI, UIKit or both.
    • Challenge: Make 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!
    • SwiftUI Views: Learn how to create user interfaces in SwiftUI by constructing a tree of Views, such as Text, Slider and Button.
    • SwiftUI View Modifiers: Learn how you can use SwiftUI View Modifiers like shadow, corner radius, or border to modify the style of your views.
    • Objects, Data & Methods: Learn the basics of object-oriented programming, so you can better understand the Swift code created for you by the SwiftUI Canvas editor.
    • Challenge: Add View Modifiers: Practice using SwiftUI View Modifiers by styling the rest of the text views in Bull’s Eye.
    • Solve Problems: Learn how to solve problems beginners frequently run into, such as what to do when your code has an error.
    • Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.
  • SwiftUI Data
    • Introduction: Let’s review what you’ll be learning in this part and why it’s important.
    • Buttons & Actions: Learn how to connect your button to some Swift code that prints a message to the console.
    • SwiftUI State: Learn about an important concept called SwiftUI state, which helps you keep your user interface and app state always consistent.
    • Challenge: SwiftUI State: Practice what you’ve learned so far by adding a knock-knock joke to your app.
    • SwiftUI Bindings: Use SwiftUI bindings to keep the value of the slider synchronized with a state variable.
    • 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.
    • Intro to App Architecture: Learn how you can use some basic concepts of app architecture to make your code more clean and maintainable.
    • Create a Model: Create a basic data model for Bull’s Eye, that stores the target, current round and total score.
    • Conclusion: Let’s review where you are with your programming to-do list and discuss what’s next.
  • Coding in Swift
    • Introduction: Let’s review what you’ll be learning in this part, and why it’s important.
    • The Swift Standard Library: Learn about the pre-built data types and functions you can use in your apps to solve a variety of common tasks.
    • Intro to Unit Testing: Learn how you can add unit tests to your app to automatically verify your app works the way you expect.
    • Intro to Test-Driven Development: 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.
    • 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.
    • If / Else Statements: Learn how to write if/else statements in Swift and how you can use them to implement the algorithm.
    • Challenge: Calculate the Difference: Try improving the algorithm to calculate the difference so it is written in fewer lines of code.
    • Variables & Constants: Finalize the difference algorithm and score calculation, and learn about an important Swift concept: the difference between variables and constants.
    • Type Inference: Learn how something called Swift type inference can help make your code more concise and easy to understand.


Start your review of Your First iOS & SwiftUI App: An App from Scratch

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.