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

Independent

Your First iOS & SwiftUI App: Polishing the App

via Independent

Overview

This course is for students who have completed “Your First iOS and SwiftUI App: An App from Scratch”, where we developed the “must haves” on our programming to-do list for a simple iOS game called Bull’s Eye.

In this course, we’ll finish off our “nice-to-haves” on our programming to-do list, resulting in a professional and polished app.

Not only will the app look much better, but the code will be much cleaner and well organized too. You’ll learn how to extract your SwiftUI views in order to keep your code clean, reusable, and maintainable, and you’ll continue to use test-driven development to build out and expand your app’s data model.

You’ll also learn about tons of handy techniques that you’ll be using all the time as a professional iOS Developer, including how to use SFSymbols, SwiftUI Animation, Size Classes, and so much more.

By the end of this course, not only will you have created your first app, but you’ll have created a polished app that can carry around in your pocket, an show of to your family and friends.

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
  • More SwiftUI View Modifiers
  • Colors and Gradients
  • Supporting Dark Mode
  • Extracting SwiftUI Views
  • Filling and Stroking Shapes
  • SFSymbols
  • The Xcode Debugger
  • The Environment Property Wrapper
  • Xcode Shortcuts
  • Size Classes
  • Swift Arrays
  • App Icon & Display Name
  • Running on Your Own Device

Syllabus

  • SwiftUI Views & View Modifiers
    • Introduction: Get a preview of all the things you’ll learn throughout this course.
    • More View Modifiers: Learn about more view modifiers including padding, foregroundColor, background, and cornerRadius, and use those to style the “Hit Me” button in Bull’s Eye.
    • Colors & Gradients: Learn how to apply custom colors and gradients to your SwiftUI views.
    • Dark Mode: Learn how to support dark mode in your iOS apps.
    • Challenge: Colors & Dark Mode: Try adding a new color to the asset catalogue for the text views, and then apply that to all the views in the app.
    • Extract Views: Learn how to keep your SwiftUI code clean and organized by extracting your views.
    • Challenge: Extract Views: Practice extracting views by extracting reusable slider text, slider, and hit me button views.
    • Fill & Stroke Shapes: Learn how you can draw shapes in SwiftUI and fill and stroke them with color.
    • SFSymbols: SFSymbols is a massive collection of symbols and icons that you can use in your apps. Let’s learn how this works.
    • Challenge: Fill & Stroke Shapes: Practice drawing some shapes by applying them to your reusable views.
    • Put it All Together: Put together everything you have learned by creating a reusable background view, with buttons to reset the game and show the leaderboard.
    • Challenge: Put it All Together: Practice everything you’ve learned so far in this course, by creating the views necessary for the background view’s bottom views.
    • Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.
  • Swift Coding Challenges
    • Introduction: Let’s review what you’ll be learning in this part, and why it’s important.
    • Challenge: Start a New Round: Try adding a new method to your Game data model that you can use to start a new round of the game.
    • The Xcode Debugger: 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, with the power of
    • the Xcode Debugger.
    • Challenge: Bonus Points: Get some practice with coding basics by giving the user bonus points if they are very close to the target.
    • Challenge: Start Over: Get some more coding practice by implementing the “Start Over” button in Bull’s Eye.
    • Draw the Rings: Draw the cool rings in Luke’s design with the power of SwiftUI’s ForEach.
    • Challenge: Draw the Rings: Try changing the color of the rings from black to a nice gradient.
    • Environment Property Wrapper: Learn how you can use the environment property wrapper to detect if the app is in light mode or dark mode.
    • Challenge: Center the Slider: Try fixing the slider so it is centered on the screen and within the rings.
    • Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.
  • A Custom Alert
    • Introduction: Let’s review what you’ll be learning in this part, and why it’s important.
    • Challenge: More Text Styles: Try implementing several more text styles that we need for the custom alert.
    • Challenge: Create a Custom Alert: Try creating the custom alert itself, by using the building blocks we created earlier.
    • Display a Custom Alert: Learn how to display a custom alert in SwiftUI by dynamically modifying view hierarchy.
    • Intro to SwiftUI Animation: Get a crash course in SwiftUI animation and use it to make the custom alert smoothly animate onto the screen.
    • Avoid Magic Numbers: Learn why it’s important to avoid magic numbers in your code, and how you can avoid them by using named constants.
    • Intro to Xcode Shortcuts: Learn about some of the most helpful Xcode shortcuts you can learn to supercharge your day-to-day development.
    • Conclusion: Let’s review where you are with your programming to-do list, and discuss what’s next.
  • A Second Screen
    • Introduction: Let’s review what you’ll be learning in this part, and why it’s important.
    • Challenge: Create a Leaderboard View: As the first step to create our leaderboard view, we’ll start by creating a view for a single row inside the leaderboard.
    • Create the Leaderboard View: Now that we’ve implemented a view for a row within the leaderboard, we can start putting together the main view for the leaderboard.
    • Intro to Size Classes: Learn how you can use iOS size classes to adjust the layout of the view based on whether there is a compressed amount of horizontal space.
    • Display a Second Screen: Learn one way you can display an extra screne of content in your SwiftUI app, using View’s sheet() method.
    • Intro to Swift Arrays: Learn the basics of using Swift arrays using Swift Playgrounds.
    • Challenge: Leaderboard Data Model: Using what you learned about Swift ararys, try integrating leaderboard entries into the app’s data model.
    • Connect the Leaderboard: Learn how to hook up the leaderboard data model to the leaderboard view.
    • App Icon & Display Name: Learn how to set up your app icon, and how to change the display name of your app.
    • Run the App on Your Own Device: Learn how to run your app on your own physical device so you can carry it around and show it off to your friends!
    • Conclusion: Let’s review what you learned in this course and discuss where to go from here to continue your iOS and Swift learning journey.

Reviews

Start your review of Your First iOS & SwiftUI App: Polishing the App

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.