- Episode #47
- Apr 27, 2020
- 1h 23m
- 1h 23m
Practical Combine with Donny Wals
Practical Combine with Donny Wals
In this episode, Leo talks with Donny Wals about his new book Practical Combine and how Combine fits with older apps as well as his work at Disney and his process for writing his book.
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
Linode
A 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
Try it today with this special link:
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
Email
leo@brightdigit.com
Twitter
BrightDigit - @brightdigit
Leo - @leogdion
Instagram - @brightdigit
Patreon
Credits
Music from https://filmmusic.io
"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)