A Swift library providing syntactic sugar for Grand Central Dispatch (GCD) with chainable async blocks and modern queue support.
Async is a Swift library that provides syntactic sugar for Grand Central Dispatch (GCD), Apple's concurrency framework. It simplifies writing asynchronous code by offering a chainable syntax that reduces nesting and improves readability compared to raw GCD calls. The library supports modern quality-of-service queues, delayed execution, cancellation, and group operations.
iOS, macOS, tvOS, and watchOS developers working with Swift who need to manage asynchronous tasks using Grand Central Dispatch but want cleaner, more maintainable code.
Developers choose Async because it dramatically reduces the boilerplate and nesting associated with GCD, offering a fluent API that makes asynchronous code easier to write, read, and reason about while retaining full compatibility with Apple's concurrency system.
Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch
Eliminates deep nesting by allowing sequential async operations to be written in a fluent, readable chain, as shown in the README's comparison with raw GCD.
Provides shorthand methods for all GCD QoS queues (main, userInteractive, etc.) and custom queues, simplifying dispatch code.
AsyncGroup makes it easy to run and wait for multiple asynchronous blocks in parallel, improving code structure for concurrent tasks.
Built-in support for scheduling blocks after delays and canceling undispatched tasks offers better control over async workflows.
Explicitly marked as no longer maintained, meaning no future updates, bug fixes, or compatibility with new Swift versions.
Relies solely on GCD and does not integrate with Swift's modern async/await features, limiting its relevance for current development.
The README admits bugs with modern GCD queues in the iOS Simulator, which can impede testing and development.
Cancellation only applies to blocks not yet dispatched, which may not suffice for more advanced task management needs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.