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

Coursera

SwiftUI - Build Amazing Apps - With Much Less Code

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Dive into SwiftUI, Apple’s powerful framework for building apps with minimal code. You'll start with the basics, learning how to work with constants, variables, strings, and operators. As you progress, you’ll explore advanced concepts like error handling, working with data, and utilizing SwiftUI-specific features such as Stacks, TextFields, and animations. The course also covers creating dynamic apps like weather and to-do list applications, building interactive user interfaces, and implementing Core ML and video players. Throughout, you'll build a series of apps, ranging from a simple dog breed app to a complex word game, each focusing on practical implementation of the skills you're learning. This course provides hands-on learning, guiding you step-by-step through projects and app creation, ensuring that each module builds on the previous one. By the end, you will have a portfolio of SwiftUI apps, equipped with skills to create user-friendly and interactive apps. The course is ideal for anyone interested in mobile app development. No prior experience in SwiftUI is required, but a basic understanding of programming concepts and familiarity with Xcode would be beneficial. It's designed for beginners but also offers enough depth for intermediate learners to gain valuable insights. By the end of the course, you will be able to create fully functional apps using SwiftUI, implement real-time data with Core Data, integrate animations, and leverage Core ML for machine learning applications. You’ll be well-equipped to tackle mobile development challenges in SwiftUI.

Syllabus

  • Introduction - What is SwiftUI?
    • 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.
  • Preview and the New Xcode
    • 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.
  • Constants and Variables
    • 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.
  • Strings
    • 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.
  • Operators
    • 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.
  • Classes and Structs
    • 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.
  • Properties
    • 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.
  • Initializers
    • 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.
  • Control Flow
    • 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.
  • Functions
    • 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.
  • Collections
    • 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.
  • Optionals
    • 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.
  • Tuples
    • 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.
  • Enumerations
    • 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.
  • Error Handling
    • 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
  • Stacks (VStack - HStack - ZStack)
    • 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.
  • Text and Its Modifiers
    • 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.
  • TextField and State
    • 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.
  • Image and Its Modifiers
    • 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.
  • The Dog Breed Application
    • 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.
  • Weather Application
    • 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.
  • Core Data and SwiftUI -To-Do List Application
    • 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.
  • Sunflower Application
    • 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.
  • Core ML - Dog Breed ID Application
    • 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.
  • Guess the Color Application - A SwiftUI Game
    • 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.
  • Adding a Video Player to Your SwiftUI Application
    • 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.
  • Find Words - Building a Word Game that Gives the User the Choice of Three Languages
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of SwiftUI - Build Amazing Apps - With Much Less Code

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.