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

Coursera

Advanced SwiftUI, MVVM, and App Design Patterns

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. In this course, you will delve into advanced SwiftUI techniques, focusing on app design patterns, UI customization, and the MVVM architecture. You'll master the art of stylizing text views, including using Markdown, string interpolation, and attributed strings. Further, you’ll explore creating custom view modifiers, building complex UI elements, and adapting your app for dark and light mode support. The journey continues with the implementation of real-world projects like a calculator app with advanced features, an MVVM-based recipe app, and a platform-adaptive hotkeys app. You'll also work with advanced design techniques using iOS 18 capabilities such as Text Renderer effects and Metal shaders. Along the way, you'll learn the intricacies of state management, UI responsiveness, and incorporating complex business logic into your apps. This course will also introduce design best practices for scalable, maintainable, and testable SwiftUI applications. You will work on real-world challenges, applying MVVM to organize your code, use efficient data handling, and develop polished apps. By the end of the course, you will be able to create highly interactive SwiftUI interfaces, build robust apps using MVVM, and apply design patterns to optimize your development process and code structure.

Syllabus

  • Stylizing Text Views: String Interpolation, Markdown, and Attributed Strings
    • In this module, we will explore how to style text views in SwiftUI using string interpolation, Markdown, and attributed strings. You’ll learn how to apply creative formatting techniques to display dynamic content and incorporate advanced features like URL handling, pluralization, and date formatting. Through hands-on examples, you'll also combine different text styling methods to create visually appealing, interactive UI elements.
  • Text Renderer
    • In this module, we will dive into the capabilities of the iOS 18 Text Renderer to create unique text effects. You'll learn how to implement a blur effect and apply wobble effects using Metal distortion shaders to elevate your app’s UI. This section will demonstrate how to incorporate powerful graphical features into your text views for an engaging user experience.
  • Cool and Interesting Questions
    • In this module, we will tackle exciting UI challenges using SwiftUI, such as creating gradient indicators, drag-and-drop images, and reusable tooltip views. You’ll also build custom labels and complex text fields while exploring advanced effects like glowing borders and dynamic text expansion. This section offers plenty of hands-on exercises to enhance your UI development skills.
  • Custom View Modifiers
    • In this module, we will introduce the power of custom view modifiers in SwiftUI. You’ll learn how to create and apply modifiers to streamline your UI code, such as implementing toast notifications and gradient border effects. We’ll also explore code refactoring techniques and how to use extensions to create clean, maintainable UI components.
  • Calculator Supporting Light and Dark Mode
    • In this module, we will guide you through the process of building a calculator app that supports both light and dark modes. You’ll learn to integrate color schemes, implement adaptive designs for iPad, and ensure the app looks great on different devices. We’ll also cover best practices for managing code complexity and refactoring.
  • Introduction to the MVVM Design Pattern With Recipes
    • In this module, we will introduce the MVVM (Model-View-ViewModel) design pattern using a recipe app as an example. You’ll learn how to structure your app to separate concerns, enhance the user interface, and implement best practices for data binding. This section provides a solid foundation for MVVM-based app development.
  • Recipe MVVM Updated Using @Observable
    • In this module, we will update a recipe app built with MVVM to use the new @Observable macro for better state management. You’ll learn how to refactor your app’s views to leverage the latest SwiftUI features, making the app more efficient and responsive while maintaining a clean MVVM architecture.
  • Brevis Hotkeys App
    • In this module, we will develop a hotkeys app that is both dynamic and adaptable to different platforms, including iPad and Mac. You’ll learn how to create flexible UI components like hotkey rows and categories, as well as how to apply custom theming and platform-specific optimizations.
  • The Chinese Counting App
    • In this module, we will build a Chinese Counting app that integrates core features like number generation, audio playback, and game mechanics. You’ll also learn how to implement test-driven development (TDD) and develop additional functionality such as displaying Chinese characters and proverbs.
  • FizzBuzz and Programs That Write Programs!
    • In this module, we will explore the classic FizzBuzz algorithm and its implementation in Swift. You’ll create a dynamic user interface for displaying results and even develop a tool that generates Swift code dynamically. This section challenges you to think about coding in new, creative ways.

Taught by

Packt - Course Instructors

Reviews

Start your review of Advanced SwiftUI, MVVM, and App Design Patterns

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.