Learning Combine with Swift
1h 30mAdvanced2020-04-08
Authors

Doron Katz
Published Author, Technical Program Manager, iOS Engineer
Course details
Combine is a monumental paradigm shift in the Apple programming mindset. Combine provides Swift developers with a declarative functional approach to interacting with APIs, as well as SwiftUI components, over time, through a publisher/subscriber model. The introduction of Combine gives you a native way to manage asynchronous events in Swift, without relying on third-party reactive frameworks. This course explores the Combine life cycle, including publishing, manipulating, and receiving data streams, and explains how to apply these fundamentals to interact with REST APIs and UI components. Instructor and iOS engineer Doron Katz also introduces advanced techniques, such as throttling data streams and leveraging advanced operators. This introductory course should enable you to start putting Combine into practice in your own app development workflow.
Topics include:
- Functional reactive programming techniques
- Transmitting data with publishers
- Consuming data with subscribers
- Publishing data
- Creating a simple Combine data stream
- Calling REST APIs
- Handling errors
- Using testing
- Managing threads with schedulers
- Throttling publisher data
- Leveraging advanced operators
Topics include:
- Functional reactive programming techniques
- Transmitting data with publishers
- Consuming data with subscribers
- Publishing data
- Creating a simple Combine data stream
- Calling REST APIs
- Handling errors
- Using testing
- Managing threads with schedulers
- Throttling publisher data
- Leveraging advanced operators
Skills covered
SwiftAppleProgramming LanguagesSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Power up your app with Combine
- 02 - What you should know
1. Introduction to Combine
- 03 - What is Combine
- 04 - Shift to functional reactive programming
- 05 - Overview of SwiftUI
- 06 - Advantages of Combine
2. Combine Fundamentals
- 07 - Understand the Combine life cycle
- 08 - Transmit data with publishers
- 09 - Manipulate data with operators
- 10 - Consume data with subscribers
- 11 - Publish and subscribe to data with subjects
- 12 - Publish data once with Future and Just
- 13 - Challenge - Create a simple Combine data stream
- 14 - Solution - Create a simple Combine data stream
3. Work with REST APIs
- 15 - Call REST APIs with DataTaskPublisher
- 16 - Handle errors with Combine
- 17 - Unit testing and Combine
- 18 - Challenge - Use Combine to call an API endpoint
- 19 - Solution - Use Combine to call an API endpoint
4. Advanced Concepts
- 20 - Manage threads with schedulers
- 21 - Work with custom publishers and subscribers
- 22 - Throttle publisher data with backpressure
- 23 - Abstract Combine implementations with type erasures
- 24 - Leverage the Combine advanced operators
- 25 - Challenge - Call an API using schedulers and backpressure
- 26 - Solution - Call an API using schedulers and backpressure
Conclusion
- 27 - Go forth and code
Related courses
- After Effects Apprentice: 10 Time Games
- Create Voice Controlled AR Apps 1: Build a Car Showcase Application
- Problem-Solving and Critical Thinking for Production Workers
- Learning Photoshop Automation
- Data Visualization: Best Practices
- Building AI-Powered Browser Agents with Playwright and Large Language Models
- Advanced Data Engineering with Snowflake
- Creating a Game Character in Blender
Related learn paths
- Getting Started with Python
- Prepare for the MTA: Software Development Fundamentals Exam (98-361)
- Become a Multimedia Specialist
- Getting Started with R for Data Science
- Become an Arduino Developer
- Become a Mix Engineer
- Become a Portfolio Manager
- Prepare for the VMware Certified Professional: Data Center Virtualization (VPC-DCV) Exam