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

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
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
AstonJ
Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face: https://on...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Author Spotlight: Karl Stolley @karlstolley Logic! Rhetoric! Prag! Wow, what a combination. In this spotlight, we sit down with Karl ...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New