Packt
SwiftUI - Build Amazing Apps - With Much Less Code

Gain next-level skills with Coursera Plus for $199 (regularly $399). Save now.

Packt

SwiftUI - Build Amazing Apps - With Much Less Code

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Build functional apps with SwiftUI and minimal code

  • Design user interfaces using SwiftUI components like Stacks and TextFields

  • Create dynamic data-driven applications with Core Data and Core ML

  • Add animations and interactivity to enhance app functionality

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

January 2026

Assessments

28 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 27 modules in this course

In this module, we will introduce you to SwiftUI, providing an overview of its powerful declarative syntax and cross-platform capabilities. You will learn how SwiftUI simplifies UI design and how it can transform your app development process. This section will also compare SwiftUI with UIKit, giving you a deeper understanding of how both frameworks can work together in your projects.

What's included

1 video1 reading

In this module, we will explore the basics of Xcode and how it integrates with SwiftUI for a seamless development experience. You will learn how to use SwiftUI Previews to instantly visualize changes to your UI without running the full app. This section will also guide you through key Xcode tools and features that can speed up your development workflow.

What's included

1 video1 assignment

In this module, we will dive into the fundamental concepts of constants and variables in Swift, covering how they are used to store and manage data. The first part will introduce you to the basics of data types, and in the second part, you’ll gain a deeper understanding of their practical applications. By the end of this section, you'll be equipped to use constants and variables confidently in your SwiftUI projects.

What's included

2 videos1 assignment

In this module, we will focus on working with strings in Swift, starting with the basic string properties and methods in the first part. The second part will cover more advanced string manipulation techniques, helping you understand how to format and modify text efficiently. By the end of this section, you will be able to confidently handle and manipulate strings within your SwiftUI projects.

What's included

2 videos1 assignment

In this module, we will introduce you to the essential operators in Swift. The first part covers unary, binary, ternary, assign, and compound operators, while the second part dives into comparison, nil-coalescing, range, and logical operators. By the end of this section, you will have the tools to write more efficient, concise code and handle various conditions with ease.

What's included

2 videos1 assignment

In this module, we will explore the core concepts of classes and structs in Swift. The first part will guide you through the syntax, properties, and initialization process for both, while the second part will delve into the distinctions between value and reference types, along with the use of the identity operator. By the end of this section, you'll have a solid understanding of how to work with classes and structs effectively in SwiftUI.

What's included

2 videos1 assignment

In this module, we will take a deep dive into the various types of properties available in Swift. Across five focused parts, you'll explore stored, lazy, computed, and static properties, as well as property observers. By the end of this section, you'll be equipped to harness the full power of properties to create dynamic, state-aware components in your SwiftUI applications.

What's included

5 videos1 assignment

In this module, we will explore the different types of initializers used to create instances in Swift. Starting with basic syntax and value type delegation, we’ll move on to designated and convenience initializers, then cover initializer inheritance, and conclude with required and failable initializers. By the end of this section, you’ll have a clear understanding of how to construct robust and flexible Swift objects using the right initializer for each scenario.

What's included

4 videos1 assignment

In this module, we will cover the essential control flow structures in Swift that govern decision-making and repetition. You'll begin with conditional statements like if, switch, and guard, then move on to loops including for and while variations. Finally, you'll explore control transfer statements that give you precise control over the execution path of your code.

What's included

6 videos1 assignment

In this module, we will explore functions in Swift—one of the most powerful tools for organizing code. You'll start by learning how to define functions with parameters and return values, then move on to returning multiple values and customizing parameter names. Finally, you'll discover advanced techniques including variadic, in-out, and nested functions to elevate the modularity and clarity of your Swift code.

What's included

4 videos1 assignment

In this module, we will explore the core collection types in programming, namely arrays, dictionaries, and sets. You will learn how to define, manipulate, and apply these structures effectively. By the end of this module, you'll have a solid understanding of how to utilize these collections in your coding projects.

What's included

3 videos1 assignment

In this module, we will dive into the concept of optionals, a powerful feature in many programming languages. You will learn how optionals are used to represent values that may or may not exist and how to safely handle them in your code. By the end of this module, you will be able to work with optionals confidently and prevent potential errors in your programs.

What's included

1 video1 assignment

In this module, we will explore the concept of tuples, a simple yet powerful way to group related values together. You will learn how to define and manipulate tuples in your code, and how they differ from other data structures like arrays. By the end of this module, you'll be able to effectively use tuples to streamline your data handling in various programming scenarios.

What's included

1 video1 assignment

In this module, we will thoroughly explore the concept of enumerations (enums) in programming. Over three parts, you will learn how to declare enums, iterate through their values, and understand the use of associated and raw values. We will also cover advanced topics like recursive enumerations, which enable more complex and dynamic data structures. By the end of this module, you'll be proficient in using enums to create clean, manageable, and scalable code.

What's included

3 videos1 assignment

In this module, we will introduce you to the concept of error handling in programming. You will learn how to identify and handle errors gracefully to prevent crashes and ensure smooth application performance. By the end of this module, you will be able to implement error handling strategies that improve the stability and reliability of your code

What's included

1 video1 assignment

In this module, we will explore the concept of stacks in user interface design, focusing on VStack, HStack, and ZStack. You will learn how to arrange and align views vertically, horizontally, and in layers, allowing you to build intuitive and organized layouts. By the end of this module, you’ll have the skills to effectively use stacks to create clean and flexible UI structures in your applications.

What's included

1 video1 assignment

In this module, we will explore the concept of text and its modifiers in detail across three parts. You will learn how to customize and style text, using various modifiers to control its appearance, size, color, and alignment. By the end of this module, you'll be able to effectively manipulate text to create visually appealing and user-friendly interfaces in your applications.

What's included

3 videos1 assignment

In this module, we will explore the concept of TextField and state, focusing on how user input can be captured and managed using state variables. You will learn how to bind a TextField to a state to create dynamic and interactive UI elements. By the end of this module, you’ll be able to design responsive interfaces that react to user input in real time.

What's included

1 video1 assignment

In this module, we will explore the concept of images and their modifiers, breaking it down into two parts. You will learn how to use modifiers to adjust the appearance of images, including scaling, resizing, and applying effects. By the end of this module, you'll have the skills to effectively manipulate and display images to enhance the visual experience of your app.

What's included

2 videos1 assignment

In this module, we will guide you through the development of a dog breed application, breaking it down into five parts. You’ll learn how to create a visually appealing UI using text, images, stacks, and modifiers, and how to manage data effectively using the Identifiable protocol. Additionally, we will cover techniques for populating lists with data, enabling navigation between views, and passing data between them. By the end of this module, you will have built a fully functional, data-driven dog breed app.

What's included

5 videos1 assignment

In this module, we will guide you through the creation of a weather application, breaking the process into six parts. You’ll learn how to set up essential data models and services, create a view model using the ObservableObject protocol, and design a clean and intuitive UI. We will also explore the concepts of refactoring and adding animations to enhance the user experience. By the end of this module, you will have built a fully functional, interactive weather app.

What's included

6 videos1 assignment

In this module, we will walk you through building a to-do list application using Core Data and SwiftUI, divided into five detailed parts. You will learn how to set up Core Data for persistent storage, create a user-friendly interface, and manage tasks with list rows. We’ll also cover saving, fetching, and displaying user data, as well as deleting tasks. Additionally, we’ll explore adding a dark theme to enhance the app’s visual appeal. By the end of this module, you will have created a fully functional to-do list application.

What's included

6 videos1 assignment

In this module, we will guide you through building a sunflower-themed application across five detailed parts. You will learn how to create a vibrant app with animations, a settings screen, and navigation features like a tab bar. Additionally, we will explore the use of the EnvironmentObject property to control app behavior dynamically. By the end of this module, you'll have a fully functional, interactive sunflower application with customizable settings and smooth navigation.

What's included

6 videos1 assignment

In this module, we will guide you through building a dog breed identification application using Core ML, split into four comprehensive parts. You will learn how to set up the user interface, integrate the camera API to capture images, and use Core ML to identify dog breeds. Finally, we will cover how to update the UI with predictions to provide real-time feedback. By the end of this module, you will have developed a functional app that can accurately identify dog breeds through machine learning.

What's included

5 videos1 assignment

In this module, we will guide you through building the "Guess the Color" SwiftUI game across five engaging parts. You will learn how to create the game’s interface by adding target and guess circles, pickers, and sliders. We’ll also cover how to implement a scoring system, a reset feature, and animations to make the game more interactive. By the end of this module, you'll have a fully functional and animated SwiftUI game where players can guess colors and compete for high scores.

What's included

5 videos1 assignment

In this module, we will guide you through the process of adding a video player to your SwiftUI application, broken into four detailed parts. You will learn how to create a class to manage video playback, build and customize player controls, and integrate them into the player. Additionally, we will cover how to populate a picker to allow users to select different videos. By the end of this module, you'll have a fully functional video player integrated into your SwiftUI app with interactive controls.

What's included

5 videos1 assignment

In this module, we will walk you through the process of creating a word game that offers users the choice of three languages, divided into nine detailed parts. You’ll learn how to set up the game with a header view, create user settings, and add interactive elements like a picker view and buttons. We will also cover providing user feedback, adding statistics like word count, and incorporating fun features like a launch screen animation, haptic feedback, and sound effects. By the end of this module, you'll have built a fully-featured, engaging word game in multiple languages.

What's included

10 videos3 assignments

Instructor

Packt - Course Instructors
Packt
1,299 Courses334,545 learners

Offered by

Packt

Explore more from Mobile and Web Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions