inflearn logo

Alan Swift Concurrency for Swift 6 (Part-2)

Covers Swift Concurrency from A to Z. (Part 2)

(5.0) 30 reviews

273 learners

Level Intermediate

Course period 24 months

iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency
iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency

Reviews from Early Learners

5.0

5.0

giop15

31% enrolled

Your explanations are very detailed and easy to understand!

5.0

sujinnaljin

100% enrolled

As expected, Allen's lectures are always worth watching. The lectures themselves are great, but he also consistently provides high-quality answers to questions. I loved that I could gain so much more depending on how much I studied and asked questions on my own!

5.0

갱모

31% enrolled

A lecture I'd recommend to those who want to study Swift Concurrency but find WWDC too difficult to watch

What you will gain after the course

  • Understanding Swift Concurrency Through Computer Science

  • The Concept of the Existing Thread Pool, Cooperative Thread Pool, and Memory Structure

  • Task isolation / Sendable

  • Basic Concepts of Actors - Isolated / Non-Isolated

  • Uses of Actor - Atomicity/Reentrancy/Hopping/Optimization

  • Actor - Constructor/Destructor/Protocol/Inheritance/Extension Rules

  • Global actor / MainActor

  • AsyncSequence / AsyncStream

  • Implementing a Custom Executor and the Concept of Preferences

  • Transferring Non-Sendable Types and Function Isolation Issues

⛔ You must purchase the course textbook (PDF e-book) separately. ⛔

(This course took more than a year to create the textbook. Because it covers the optimal and highest-quality content for learning, as well as more detailed material than any other Swift Concurrency-related content in the world, we ask for your understanding that the textbook is sold separately to maintain the quality of the course. Purchasing the textbook is optional. You are absolutely welcome to purchase the course alone.)

Swift Concurrency for Swift 6 by Allen (Combined textbook for Part 1 / Part 2)

Seller link: https://smartstore.naver.com/allenschool/products/11528874881
(30,000 won)

Even if you do not take this course directly, you can purchase the textbook separately. (However, since it is optimized for the purposes of the course, some content may be difficult to understand if you purchase only the textbook. If you agree to this, you may purchase just the textbook without purchasing the course.)

Swift Concurrency for Swift 6 (Part 2) ✍🏻

Subtitle: Properly Learning Swift Concurrency Programming to Move Forward with Swift 6


🌿🌿🌿

Solid fundamentals based on computer science and
the subtle differences in detail
are what I believe create differences in skill.

🌿🌿🌿



Since the introduction of new concurrency programming (Swift Concurrency) in version 5.5, Swift has gone through several stages of preparation and has finally been updated to version 6. One of the key goals of Swift 6 is to ensure safety by eliminating the potential for data races (Race Condition/Data-Races) in code and enabling the implementation of thread-safe code from the compilation stage.

(We are at a turning point in the gradual adoption of Swift 6.)


Therefore, this course was designed with the goal of gradually moving toward Swift 6 and learning everything related to Swift Concurrency—in other words, everything from A to Z. Please refer to the main topics of this course below. I also explain the course in detail in the introduction video for the first lecture, so please refer to that as well.

(Once you have completed all the content in Parts 1 and 2, I believe you will have built a theoretical foundation for adopting Swift 6.)


It has always been a personal goal of mine, but this course covers more detailed and in-depth content than any other Swift Concurrency course in the world.(I believe that the subtle differences in attention to detail, almost to the point of obsession, are what create differences in skill, so I always strive to provide a variety of code examples and well-organized materials.)

(2) The main topics covered in Part 2 (this course) ⭐️⭐️⭐

  • Understanding concurrent programming from a computer science perspective (understanding thread/memory structures)

  • Data Isolation / Task Isolation / Actor Isolation (Understanding the Concept of Isolation)

  • Task Isolation and Shared Mutable State (Shared Data)

  • Sendable Types (Data Types Safe to Share Between Threads)

  • Mastering Actors (1) Isolation/Non-Isolation (2) Atomicity (3) Reentrancy (4) Actor Hopping

  • (5) Main Actor Blocking (6) Resolving Actor Contention

  • Global actors and the main actor

  • Implementing a Cache with an Actor: Project Example

  • AsyncSequence (asynchronous sequence) and AsyncStream (asynchronous stream)

  • Applying AsyncStream to WebSockets: Project Example

  • Transferring (sending) a Non-Sendable Type

  • Function (Closure) Isolation Issues - isolated (Actor)? = #isolation / @isolated(any)

  • Implementing a Custom Executor / Task Executor Preference

  • (Reference) The consume / consuming keywords

  • Advanced Actor Syntax Rules - Initializers / Deinitializers / Protocols / Inheritance / Extensions

  • Transitioning from Swift5 to Swift6

  • Analyzing a Project Using Instruments

(1) Main topics covered in Part 1 (existing course)

  • Properly Understanding Tasks / async / await


  • How asynchronous (async) functions work

  • Introduction to the New Asynchronous APIs Related to URLSession

  • Using Continuations (1) Converting callback functions / (2) Converting the delegate pattern to an asynchronous approach

  • Project example of converting the delegate-based approach of the Location app (CoreLocation) to async/await

  • Theoretical concepts of structured concurrency

  • Parallel Processing - (1) async let (2) TaskGroup

  • Understanding How Task Cancellation Works (Project Example Related to Task Cancellation)

  • Understanding the Cooperative Cancellation Model

  • Applications of Structured Concurrency and Task Cancellation

  • Applications of TaskGroup (Specifying the Number of Concurrent Threads - Custom Configuration)

  • Using Task-Local Variables

Part 1 Course Link: https://inf.run/jXpfH

Features of this course

📌 We aim to cover Swift Concurrency programming from A to Z.

📌 It lays the foundation for writing safe code across multiple threads starting at compile time (the goal of Swift 6).

📌 This course was created through an in-depth analysis of all existing WWDC videos related to Swift Concurrency.

📌 This course was created with reference to all existing Swift Evolution documents (GitHub).

📌 It analyzes numerous international books and courses on Concurrency and covers as much of the material as possible without leaving anything out.

📌 Various example projects

📌 So more thoroughly than any Swift Concurrency course on Earth!!!!

📌 (As has always been the case with my courses) I provide separate learning materials for the most intuitive understanding and thorough organization possible.

Use the best resources for learning.

Separate course textbook (e-book PDF) available for purchase

For the clearest possible explanations, we provide a separate 300-page textbook.
(The textbook must be purchased separately.)

Various translated materials, including translations of official documentation

We provide translated versions of the official Swift 6 (Concurrency) documentation, API Collection documentation, and more to help you use your study time as efficiently as possible.

Various project example code resources provided

In addition to theoretical content, deepen your learning by directly applying what you learn to projects.

Theory learning code materials provided

Playground code materials featuring various examples are provided for the best possible theoretical learning.

Notes Before Enrolling

Textbook sold separately (30,000 won)

  • For the course - E-book PDF (textbook) sold separately (Combined Part-1 / Part-2 textbook)

  • Link: https://forms.gle/b1VH8mhAn7dvWfr3A
    (Code materials other than the textbook are provided free of charge.)

1. Additional materials provided (code materials are provided free of charge.)

  • Code materials provided /

    Project examples provided

  • Multiple translations provided (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)

2. Prerequisite Knowledge and Important Notes

  • Basic knowledge of Swift syntax—being able to use functions, closures, and similar features freely.

  • Basic knowledge of working with traditional asynchronous callback functions, DispatchQueue, and so on

  • Experience handling network call APIs in Swift (such as URLSession)

  • Basic knowledge of UIKit and SwiftUI.

3. Practice Environment

  • macOS Sequoia / Xcode 16.2 or later

💌Regarding the license for the course content


For any content in this course where I referred to even a small amount of imagery or other material, the PDF has the relevant URL addresses left in it. Except in such cases, all materials were created by me, so under no circumstances may you post the content of this course on a blog or share the PDF file of the e-book textbook used as the course material.

(Please be aware that violating the terms related to this license may result in legal liability.)

Q. Is lifetime access to the course available?

A. This is not lifetime access. This course has a 24-month (2-year) access period. Please take note of this. (After experiencing several cases of people sharing my course... and since I cannot make a great deal of money compared to the time and effort I put in... this is simply the best measure I can take to prevent course sharing, so I ask for your kind understanding 🙏🏻)

Recommended for
these people

Who is this course right for?

  • Those who want to study Swift Concurrency in depth

  • Those who are willing to properly study the CS material as well

  • For those who want to master it beyond just watching WWDC videos!!!!!!

Need to know before starting?

  • Swift Fundamentals

  • Basic knowledge of concurrent programming

Hello
This is allen

Inflearn Verified

7,706

Learners

778

Reviews

315

Answers

5.0

Rating

7

Courses

I'm Allen, an iOS Developer.
https://www.youtube.com/@allen_ios

"Knowledge that is accurately understood must be easily explainable in one's own words." is my motto.

Therefore, I want to be a developer who can share knowledge in a language anyone can understand by simplifying the trial and error I experienced while studying.


I am not interested in creating courses that only teach easy topics superficially in a short amount of time.
While such courses can be churned out quickly, I believe that ultimately, "growing into a good developer" requires a solid foundation of theoretical knowledge.

Rather than just an easy course, my goal is to teach even the difficult concepts that one
must know to become a good developer (a developer who can grow continuously) as easily and intuitively as possible.
Thus, my objective is to build a foundation that allows you, not me, to contemplate and think about the "WHY" yourself.

Just as I strive to become a better developer tomorrow,
I want to convey the things I have pondered in great depth.

 

I believe that repeatedly failing interviews or being unable to express even simple concepts in your own words means you do not have a precise understanding of them. On the contrary, I believe that one can grow rapidly only when they have a "solid foundation" in basic concepts and CS.


👇🏻For inquiries, please contact me at the email address below.

we.love.code.allen@gmail.com


Language: Swift, Python, Java, C#

More

Curriculum

All

72 lectures ∙ (16hr 2min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

30 reviews

5.0

30 reviews

  • rlatlwhd4561075님의 프로필 이미지
    rlatlwhd4561075

    Reviews 4

    ∙

    Average Rating 5.0

    5

    39% enrolled

    This seems like lecture material that allows for a much more detailed understanding of Swift Concurrency. Thank you!

    • gaeng11072206님의 프로필 이미지
      gaeng11072206

      Reviews 2

      ∙

      Average Rating 5.0

      5

      31% enrolled

      A lecture I'd recommend to those who want to study Swift Concurrency but find WWDC too difficult to watch

      • naljin님의 프로필 이미지
        naljin

        Reviews 3

        ∙

        Average Rating 5.0

        5

        100% enrolled

        As expected, Allen's lectures are always worth watching. The lectures themselves are great, but he also consistently provides high-quality answers to questions. I loved that I could gain so much more depending on how much I studied and asked questions on my own!

        • nayalth8348님의 프로필 이미지
          nayalth8348

          Reviews 3

          ∙

          Average Rating 5.0

          5

          31% enrolled

          The course is so substantial that I'm very satisfied with it.

          • randychoi95님의 프로필 이미지
            randychoi95

            Reviews 3

            ∙

            Average Rating 5.0

            5

            31% enrolled

            Your explanations are very detailed and easy to understand!

            allen's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!

            Limited time deal ends in 1 days

            $169,400.00

            30%

            $187.00