Intermediate SwiftUI

This SwiftUI course builds upon the basics of SwiftUI and covers advanced techniques for building complex applications.

guide

You don't have a active subscription yet!

To access our video courses, you need to be signed in and have a active subscription. If you are ready to subscribe, click the button down below to check out our pricing ;)

This Intermediate SwiftUI course builds upon the basics of SwiftUI and covers advanced techniques for building complex applications. The course also demonstrates how to leverage SwiftUI’s powerful features and integrate it with other frameworks. Let's explore each session in detail.


Session 1: Advanced State Management with Combine

In this session, you'll be introduced to Combine and how it integrates with SwiftUI to manage complex state. The focus will be on understanding publishers, subscribers, and their roles in SwiftUI apps. You'll also learn about key Combine properties like
@Published and @ObservedObject, and how to combine multiple publishers to handle more complex state.

The video content will guide you through setting up a simple app using Combine to manage state changes and data flow.


Session 2: Custom View Modifiers and Extensions

Custom view modifiers allow you to create reusable UI components, enhancing modularity in your code. In this session, you'll explore how to extend the View with custom methods that follow common UI patterns. We'll cover best practices to keep modifiers both modular and reusable.

The video will demonstrate how to build a library of custom view modifiers and use them in a real-world application.


Session 3: Integrating UIKit with SwiftUI

Learn when and why you should integrate UIKit components into a SwiftUI project. This session dives into using UIViewControllerRepresentable and UIViewRepresentable to manage UIKit components, and demonstrates how to synchronize data between UIKit and SwiftUI.

In the video, you'll integrate a UIKit element like MapView into a SwiftUI app and synchronize data flow between the two frameworks.


Session 4: Custom Transitions and Animations

SwiftUI offers great built-in animations, but sometimes custom transitions are necessary to create truly dynamic user interfaces. In this session, you’ll explore using AnyTransition for custom transitions, creating animations with keyframes, and combining multiple animations for a more dynamic effect.

The video content will show how to build a mini-project that uses these advanced animations to enhance the user experience.


Session 5: Advanced Layout Techniques with GeometryReader

The GeometryReader is a powerful tool in SwiftUI that allows you to build responsive layouts that adapt to screen size and orientation. This session will help you understand coordinate spaces and frame calculations for adaptive layouts.

The video will guide you through creating a dynamic, responsive interface using GeometryReader, which adjusts based on screen size and orientation.


Session 6: Building Complex Lists and Grids

Lists and grids are essential for displaying data, especially large datasets. This session covers creating multi-dimensional grids with LazyVGrid and LazyHGrid, optimizing list performance, and customizing list rows with swipe actions.

In the video, you’ll build a feature-rich app that displays dynamic data using advanced list and grid layouts.


Session 7: Data Persistence with Core Data and SwiftUI

Learn how to integrate Core Data into SwiftUI to persist data across app sessions. This session covers setting up a Core Data stack, managing entities, and performing Create, Read, Update, Delete (CRUD) operations directly within your SwiftUI views.

The video will guide you through building a CRUD app using Core Data, showing how to persist data across multiple sessions.


Session 8: Networking and API Integration

In this session, you’ll explore how to fetch data from remote APIs using URLSession combined with SwiftUI and Combine. You’ll also learn how to decode JSON and handle errors efficiently in SwiftUI views.

The video will demonstrate how to create an app that fetches data from a public API and displays it in a SwiftUI interface with error handling.


Session 9: Managing Complex Navigation

SwiftUI simplifies navigation, but for complex multi-screen apps, more advanced techniques are needed. This session covers building apps with NavigationStack, passing data between views with environment objects, and managing deep links and programmatic navigation.

The video will demonstrate how to create a multi-screen app with complex navigation flows.


Session 10: Integrating SwiftUI with Combine

This session provides a deep dive into using Combine with SwiftUI, particularly focusing on building reactive UIs. You’ll learn to handle asynchronous data streams using Combine publishers, allowing your UI to reflect real-time updates.

The video will showcase a real-time data-driven app, demonstrating how to handle asynchronous updates in SwiftUI using Combine.


Session 11: Creating Reusable UI Components

Creating reusable components is essential for efficient and scalable app development. In this session, you’ll learn best practices for building reusable SwiftUI components and how to share these components across multiple projects.

The video will guide you through creating a library of reusable UI components and show how to integrate them into different applications.


Session 12: SwiftUI for macOS and Cross-Platform Development

SwiftUI is not limited to iOS; it can also be used for macOS, watchOS, and tvOS development. This session explores how to adapt SwiftUI code for different platforms, using platform-specific modifiers and controls while sharing as much code as possible across platforms.

In the video, you’ll create a small cross-platform app that runs on iOS, macOS, and watchOS, demonstrating how to share code between platforms while addressing platform-specific needs.


This Intermediate SwiftUI course covers a wide range of advanced topics, from state management with Combine to cross-platform development. By the end of the course, you’ll have the skills needed to build complex and high-performance SwiftUI applications.

Course Cirriculum

12 amazing sessions!

  • [ SESSION 1 ]

    Advanced State Management with Combine

    ....

  • [ SESSION 2 ]

    Custom View Modifiers and Extensions

    ....

  • [ SESSION 3 ]

    Integrating UIKit with SwiftUI

    ....

  • [ SESSION 4 ]

    Custom Transitions and Animations

    ....

  • [ SESSION 5 ]

    Advanced Layout Techniques with GeometryReader

    ....

  • [ SESSION 6 ]

    Building Complex Lists and Grids

    ....

  • [ SESSION 7 ]

    Data Persistence with Core Data and SwiftUI

    ....

  • [ SESSION 8 ]

    Networking and API Integration in SwiftUI

    ....

  • [ SESSION 9 ]

    Managing Complex Navigation in SwiftUI

    ....

  • [ SESSION 10 ]

    Integrating SwiftUI with Combine

    ....

  • [ SESSION 11 ]

    Creating Reusable UI Components

    ....

  • [ SESSION 12 ]

    Cross platform Development

    ....

instructor

Exodai INSTRUCTOR!

Johan t'Sas

Owner and Swift developer!

Resources and Assets

All resources, assets and the syllabus are provided with each course.