I’m incredibly happy to share that today the new raywenderlich.com book “Modern Concurrency in Swift”, that I’ve been working on, is available at swiftconcurrencybook.com!

Together with editors Sandra Grauschopf, Felipe Laso-Marsetti, Richard Turton, and Shai Mishali, we’ve been working very hard to get a book out as soon as possible on the newly released in 2021 Swift Concurrency:

The book is written in the classic raywenderlich.com style that mixes key pieces of theory with step-by-step instructions, guiding the readers through working on practical, real-life projects.

The book covers in details the following topics:

  • The details of the new concurrency design compared to previsouly used concurrent Swift APIs.
  • Using async/await to write asynchronous code.
  • Using AsyncSequence to consume values over time, and create asynchronous streams with AsyncStream.
  • Using Task and TaskGroup to create dynamic structured concurrency.
  • Using the power of actors and global actors to encapsulate state in concurrent context.
  • And finally, building a custom distributed system using actors that are working together across multiple devices.

In its 10 chapters, the book guides the readers through working on real-life projects like an iOS chat app featuring a bot with some odd humor:

Or an app that takes over devices on the local network and uses their computing power in a distributed system:

And if you’re one of those rare macOS developers like myself, you will get to build a command line version of the chat app too:

I hope you’ll enjoy our book — it took a ton of work to put it together so quickly!

And should you find the odd typo or inaccuracy, please do reach out on the book forums — things are sill in flux with Swift concurency so we need all the feedback you can give.

Where to go from here?

Naturally, head to the book page where you can read through the first few chapters for free and purchase it for your digital or print developer library:

» swiftconcurrencybook.com «

Interested in discussing the new async/await Swift syntax and concurrency? Hit me up on twitter at https://twitter.com/icanzilb.