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:

Where Next?

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

Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
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
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New