Skip to main content
  • Book
  • © 2023

Modern Concurrency on Apple Platforms

Using async/await with Swift

Apress
  • Understand concurrency and its traditional problems

  • Write safe concurrent code while the system prevents you from doing anything dangerous

  • Apply modern concurrency concepts in a project as you work through the book

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, access via your institution.

Table of contents (10 chapters)

  1. Front Matter

    Pages i-xviii
  2. Introduction

    • Andrés Ibañez Kautsch
    Pages 1-23
  3. Introducing async/await

    • Andrés Ibañez Kautsch
    Pages 25-51
  4. Continuations

    • Andrés Ibañez Kautsch
    Pages 53-72
  5. Structured Concurrency

    • Andrés Ibañez Kautsch
    Pages 73-88
  6. Unstructured Concurrency

    • Andrés Ibañez Kautsch
    Pages 89-116
  7. Actors

    • Andrés Ibañez Kautsch
    Pages 117-135
  8. Sendable Types

    • Andrés Ibañez Kautsch
    Pages 137-149
  9. The Main Actor & Final Actors

    • Andrés Ibañez Kautsch
    Pages 151-165
  10. AsyncSequence

    • Andrés Ibañez Kautsch
    Pages 167-190
  11. @TaskLocal

    • Andrés Ibañez Kautsch
    Pages 191-196
  12. Back Matter

    Pages 197-202

About this book

Build solid software with modern and safe concurrency features. Concurrency is one of the hardest problems in computer science. For years, computer scientists and engineers have developed different strategies for dealing with concurrency. However, the original concurrency primitives are complicated and difficult to understand, and even harder to implement.

Using the new async/await APIs in Swift, this book will explain how your code can abstract a lot of the complexity with a simpler interface so you never have to deal with concurrency primitives such as semaphores, locks, and threads yourself. This will allow you to write concurrent code that is easier to read, easier to write, and easier to maintain.  These new APIs are deeply ingrained into Swift, offering compile-level features that will keep you from writing dangerous concurrent code.

You’ll start by exploring why concurrency is hard to implement in a traditional system. Explaining the definition of concurrency and what its primitives are will help you understand why they are hard to use correctly. These concepts will become clearer as you work through the sample projects. The book’s focus then shifts exclusively to the new APIs, helping you understand how the integration of the system with the language itself makes it easier for you to write concurrent code without overstepping the bounds of the concurrency safe zone.

By the end of the book, you’ll have a solid foundation for working safely with concurrent code using the new async/await APIs.

What You'll Learn

  • Understand concurrency and its traditional problems
  • Work with the new async/await API and all its features, from the basic usage and await keywords, to task groups and async sequences.
  • Implement modern and safe concurrent code that you can start using right away

Who This Book Is For 

Experienced iOS developers at a semi-senior or senior level. Knowledge on the Grand Central Dispatch is a bonus, but not required.


Keywords

  • Swift
  • Concurrency
  • Async
  • Await
  • Async/Await
  • taskgroup
  • task group
  • sendable

Authors and Affiliations

  • La Paz, Bolivia

    Andrés Ibañez Kautsch

About the author

Andrés “Andy” Ibañez started writing iOS apps as a young college student in 2011. His first introduction to concurrency programming and its common pitfalls was in an Operating Systems class that introduced the importance (and complexity) of writing concurrent code. Since then, he has studied how this problem is solved in Apple’s platforms, including iOS. Andy has worked in institutions that make use of concurrent technologies to keep their services running for their costumers, including banks, applying the concepts to their mobile applications.

Bibliographic Information

  • Book Title: Modern Concurrency on Apple Platforms

  • Book Subtitle: Using async/await with Swift

  • Authors: Andrés Ibañez Kautsch

  • DOI: https://doi.org/10.1007/978-1-4842-8695-1

  • Publisher: Apress Berkeley, CA

  • eBook Packages: Professional and Applied Computing, Professional and Applied Computing (R0), Apress Access Books

  • Copyright Information: Andrés Ibañez Kautsch 2023

  • Softcover ISBN: 978-1-4842-8694-4Published: 15 November 2022

  • eBook ISBN: 978-1-4842-8695-1Published: 14 November 2022

  • Edition Number: 1

  • Number of Pages: XVIII, 202

  • Number of Illustrations: 29 b/w illustrations

  • Topics: Apple and iOS

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access