EmpowerApps.Show
Practical Combine with Donny Wals
Guest
- 
Donny Wals - donnywals.com
- Twitter @donnywals
 - Practical Combine (25% Off Link!!!) - An introduction to Combine with real examples
 
 
Related Episodes
- Episode 33: 2020 Developer Wish List with Alex Bush
 - Episode 19: WWDC 2019 - Swift UI with Jason Anderson
 
Related Links
- Donny's Posts on Combine
 - Using Combine by Joseph Heck
 - Timelane by Marin Todorov
 - CombineCocoa - helpers for UIKit
 - rxswift-to-combine-cheatsheet - cheatsheet for Reactive API Patterns
 - Removing duplicate values from an array in Swift by Donny Wals
 - Asynchronous Multi-Threaded Parallel World of Swift by Leo Dion
 - Preventing strong reference cycles - using assign with self
 - Heartwitch for the Apple Watch (uses Combine, SwiftUI, and Vapor)
 - ReactiveX - An API for asynchronous programming with observable streams
 - Promise Libraries
 - Open source implementations of Apple's Combine framework
 
Sponsors
LinodeA cloud experience developers love
- Great for Setting Up a Backend for Your App
 - Variety of VM Configurations and Settings
 - Reasonable Pricing Starting at $5 per month
 - Global Data Centers
 - The Developer Cloud Simplified
 
https://www.linode.com/?r=97e09acbd5d304d87dadef749491d245e71c74e7
Disney Streaming Services
- How the service has been affected by the pandemic
 - Expansion to other regions
 - How Donny uses Swift at Work
 - Apps that DSS support
 - Working from Home regularly and now
 
Practical Combine
- What is Functional Reactive Programming?
 - What is a Publisher and it's relationship with time
 - How Publishers can simplify data tasks and JSON decoding
 - The advantages of functional programming
 - Why it's important to keep track of Cancellables?
 - How to store and remove Cancellables in your ObservedObject
 - Differences between Threads and Schedulers
 - Why Type-Erasure is important in Combine
 
Lifecycle of a Stream
- Sink vs. Assign
 - Differences between Combine and other Reactive Programming
 - Differences between Combine and MVC
 - Differences between Combine and Promises
 - Builtin Publishers with Notifications, Timers, and Data Tasks
 - How to work with Delegates and Callbacks
 - When to use @Published vs PassthroughSubject vs CurrentSubject
 - How easy is it to use Combine with UIKit
 - How do you build your own Publisher and Subscriber
 
Projects and Combine
- How does Combine fit with current or future projects
 - Where would Combine not be a good fit
 - Is Combine production ready for new apps
 - How to do Unit Testing with Combine
 - How to debug with Combine
 - Are there alternatives for older OSes or Linux?
 
Writing Practical Combine
- How Donny got started
 - How he tested the idea
 - What questions he asked when getting started
 - Using questions to organize content
 - How he got outsiders to edit and beta test the book
 - What topic is Donny is interested in next?
 
Social Media
Emailleo@brightdigit.com
BrightDigit - @brightdigit
Leo - @leogdion
BrightDigit
Leo
Instagram - @brightdigit
Patreon - empowerappshow
Credits
Music from https://filmmusic.io"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)
EmpowerApps.Show