I just released my latest book - this one is on Async coding in Swift. I can continue the pre-pub price of $20 until my other distributors release it later this week.

If you buy one book this year - well it should be something more personally meaningful - but if you buy, say, seven - this should definitely be one of them.

https://editorscut.gumroad.com/l/async

The Curious Case of the Async Cafe

This is it - your introduction to all you need to use async await and friends."I laughed, I cried, it moved me - eventually" - a fake Chat Bot review we made upSwift's solution to asynchronous and concurrent code is now part of the language itself. The new syntax is easier to read and follow the logical flow of what in the past was complicated, fragmented, or deeply nested. 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 including 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. Updated for Xcode 14 and Swift 5.7 and tested on Apple Silicon. ContentsChapter 1: Async, Await, and TaskWe BeginErrorsThe (too) Big SleepIntroducing async / awaitTaskAsync and ErrorsTestingBe CarefulChapter 2: ContinuationsThe Delegate PatternDelegate to ContinuationsMultiple ContinuationsUnsafe ContinuationsThrowing ContinuationsClosures and CallbacksAsync AlternativesAsync WrappersRefactoringsURLSession and Closures with ErrorsChapter 3: AsyncSequences and AsyncStreamsNotificationsIntroducing AsyncStreamSequences of NotificationsSendable and Actor BoundariesTransforming AsyncSequencesSequence PipelinesCombineAsyncStream ContinuationsContinuous DeliveryAsyncAlgorithmsChapter 4: Structured ConcurrencyUnstructured Async CallsAsync LetCancelling TasksTask ValuesUnstructured App Store SearchTaskGroupsSequences of TaskGroupsAsyncImageChapter 5: ActorsOn and Off the Main ActorShared Mutable StateActorsSuspending and ReentrancyNonisolated MembersCommunication between ActorsGlobal ActorsTaskLocalCreating Distributed ActorsUsing Distributed ActorsEpilogue

Gumroad
@dimsumthinking Almost done with the first chapter. Great read so far. I’m slowly progressing from knowing how to use async to why.
@ohennig thank you- that’s my goal
@dimsumthinking 23 days later I’m only on chapter three, but I had to go back to an old project and rewrite a lot of the code, based on what I’ve learned so far.
@ohennig As much as I love the sequences and streams material in Ch 3 - I think you're really going to like the structured concurrency stuff coming in Ch 4
@dimsumthinking You weren't wrong about chapter 4, but 5 was a real gold mine.
I only have the last section left, but I know I'll revisit this book many times.