PragmaticBookshelf

PragmaticBookshelf

Devtalk Sponsor

A Combine Kickstart (PragProg)

Combine is about to replace all those techniques for asynchronously passing information around in an iOS or macOS App: Target-Action, callbacks, closures, delegates, notifications... all of them.

Daniel H Steinberg

Combine is about to replace all those techniques for asynchronously passing information around in an iOS or macOS App: Target-Action, callbacks, closures, delegates, notifications… all of them.

This hands-on, fast-moving kickstart introduces you to the future of declarative and reactive programming on Apple platforms. We focus on core concepts and building discrete, easy-to-understand, pieces of a pipeline that allows your app to react to changes in the state.

In your typical iOS or Mac app, the controller sees the view and the model and can send them messages directly. But how do they communicate back?

We have decades of experience using all sorts of devices. They all work fine but they all work differently.

The Combine framework unifies these different modes of communication into a single pattern. In fact, Apple has wrapped traditional methods like Notification, Timers, URLSession, and even KVO in Combine publishers so that they can participate as well.

We start with a UIKit example and transition to SwiftUI so that you can see that no matter which framework you are using for your user interface, the time is right for Combine. You’ll quickly understand the four pillars of Combine: publishers, subscribers, subscriptions, and operators and start building out pipelines that connect far away sources.

This code-along book is filled with examples that covers a myriad of use cases while providing you with the mental model to apply these techniques to your own projects.

This work was written and produced entirely by the author. We are proud to be distributing it.


Daniel H Steinberg is the author of more than a dozen books including the best selling books , A SwiftUI Kickstart, A Swift Kickstart, A Swift Kickstart, Second Edition, and Dear Elena. He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7.

Daniel presents iOS, Functional Programming, SwiftUI, and Swift training and consults through his company Dim Sum Thinking. When he’s not coding or talking about coding for the Mac, the iPhone, and the iPad he’s probably cooking, baking bread, or hanging out with friends. Details on his training and speaking are on the Dim Sum Thinking website.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

Popular Macos topics Top

PragmaticBookshelf
Apple’s Swift programming language has finally reached stability, and developers are demanding to know how to program the language proper...
New
PragmaticBookshelf
Core Data expert Marcus Zarra walks you through a fully developed application based around the Core Data APIs. You’ll build on this appli...
New
PragmaticBookshelf
A Swift Kickstart is the perfect book for the experienced developer who wants to get serious about learning the Swift programming languag...
New
PragmaticBookshelf
This is one of those moments where everything changes. SwiftUI is the future for developers targeting Apple platforms and _A SwiftUI Kic...
New
PragmaticBookshelf
There’s nothing natural about Functional Programming. It’s awkward, it feels funny, ...And then one day you start to see the world differ...
New
PragmaticBookshelf
Combine is about to replace all those techniques for asynchronously passing information around in an iOS or macOS App: Target-Action, cal...
New
First poster: bot
Create macOS or Linux virtual machines - WWDC22 - Videos - Apple Developer. Learn how you can use the Virtualization framework to quickl...
New
PragmaticBookshelf
A quirky, fast-paced tour of the components of modern concurrency in Swift. Daniel H Steinberg Swift’s new async/await family is a ...
New

Other popular topics Top

AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
axelson
I’ve been really enjoying obsidian.md: It is very snappy (even though it is based on Electron). I love that it is all local by defaul...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
AstonJ
We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New