Questions for Async Chapter
I'm starting to work on the asynchronous work chapter of V2 of The iOS Interview Guide. So far I've got the following collection of questions. Anything I'm missing? Anything else to add and cover?
I'm starting to work on the asynchronous work chapter of V2 of The iOS Interview Guide. So far I've got the following collection of questions/topics to cover:
What are all the options to execute things asynchronously on iOS?
This will have an overview of asynchronicity on iOS.How Threads work in Swift?
A bit of a reminder of fundamentals, what everything works on top of.What is the Main Thread and the @MainActor?
Covering the importance of not blocking the main thread and such.What is async/await in Swift?
Everyone’s favorite new Swift thing for async operations, will cover pros and cons.What is Actor and Sendable in Swift?
Additional details on how those things work and some commentary on their usefulness.What’s Grand Central Dispatch (GCD)?
A reminder/refresher on how this thing works and how other things built on top of it.What is Operation/OperationQueue?
An overview of a high level flexible async execution solution with its own pros and cons.What is Combine?
An overview and a commentary on its usefulness + how/why alternatives are better.How to work with URLSession?
Even though this is a networking concept (URLSession is also covered in the networking chapter) the asynchronicity is built-in and overlaps with Async/Await and GCD and other topics. Will discuss it.What is RxSwift?
Till this day, the undisputed, best async solution not only on iOS but on other platforms. Will cover why.What are Background Tasks?
The “true” background execution of work on iOS. Will cover how to use it and when.When and how to utilize silent push notifications?
A not very utilized and underrated solution to update data in the background for iOS apps.
The goal of this chapter is to give the reader a high level overview of the async solutions on iOS but also to be practical about what’s useful good to use and what is not. I’ll try to add code samples where I can.
Have I missed any topics to cover in regards of asynchronicity on iOS? Anything else you’d like me to add to the chapter or any specific requests about any of these topics? Please leave a comment by leaving a comment, emailing me, or DMing me.
got a recommendation to add AsyncStream, will add it to the list as well