PragmaticBookshelf

PragmaticBookshelf

Devtalk Sponsor

The Curious Case of the Async Cafe (PragProg)

A quirky, fast-paced tour of the components of modern concurrency in Swift.

Daniel H Steinberg

Swift’s new async/await family is a language level solution for asynchronous and concurrent code. This book introduces the new keywords and additions to the Swift Standard Library, digs in to how and when you should use them and what pitfalls to avoid. You’ll learn to replace traditional approaches to working with callbacks and concurrency with simpler code that is easier to read and reason about.

Swift’s solution to asynchronous and concurrent code is now part of the language itself. The new syntax, which in the past was complicated, fragmented, or deeply nested, is easier to read and follows a logical flow. With async/await you’ll focus on tasks instead of threads or even queues.

The Curious Case of the Async Cafe is a quirky, fast-paced tour of the components of modern concurrency in Swift: async; await; Tasks; using continuations to replace and wrap delegates and closure-based APIs; AsyncSequences and AsyncStreams; structured concurrency using async let and Task Groups; and, of course, actors.

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 Combine Kickstart, A SwiftUI Kickstart, A Swift Kickstart, Second Edition, A Functional Programming Kickstart, 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

AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
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
mafinar
Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
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
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New