# What is different between Async/Await, Combine, Closures?

**URL:** <https://forums.kodeco.com/t/what-is-different-between-async-await-combine-closures/180440>\
**Category:** Combine: Asynchronous Programming with Swift\
**Created:** [October 27, 2022, 2:50am UTC](https://forums.kodeco.com/t/what-is-different-between-async-await-combine-closures/180440 "2022-10-27T02:50:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nghiaphamsg](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/nghiaphamsg/32/109089_2.png) [@nghiaphamsg](https://forums.kodeco.com/u/nghiaphamsg)\
**Post date:** [October 27, 2022, 2:50am UTC](https://forums.kodeco.com/t/what-is-different-between-async-await-combine-closures/180440/1 "2022-10-27T02:50:48Z")

</div>

Hello Kodeco team,

Like the question in the title, I really wonder why apple built so many solutions for concurrency? difference between them? When should it apply?

nghiaphamsg

---

<div class="post-metadata">

**Author:** ![icanzilb](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/icanzilb/32/109333_2.png) [@icanzilb](https://forums.kodeco.com/u/icanzilb)\
**Post date:** [October 27, 2022, 6:07am UTC](https://forums.kodeco.com/t/what-is-different-between-async-await-combine-closures/180440/2 "2022-10-27T06:07:09Z")

</div>

That’s a fair question. There is a more detailed explanation in [Modern Concurrency in Swift | Kodeco, the new raywenderlich.com](https://www.kodeco.com/books/modern-concurrency-in-swift) but I’ll try to summarize it here:

- Dispatch queues and closures were introduced back in 2009 (if I remember well), they have been working well for 10+ years. Apple would like to move to more modern solutions currently.
- Combine was released alongside SwiftUI to provide API for building SwiftUI apps and binding data. It’s a modern framework oriented towards building applications on mac and iOS.
- async/await is a language feature, that’s available anywhere where Swift is available.

Generally speaking, using the newest APIs is best. Combine is relevant and makes some things around building UI and complex apps easier. Async/await is what Apple recommends and is available on all platforms.

---

<div class="post-metadata">

**Author:** ![nghiaphamsg](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/nghiaphamsg/32/109089_2.png) [@nghiaphamsg](https://forums.kodeco.com/u/nghiaphamsg)\
**Post date:** [October 27, 2022, 1:10pm UTC](https://forums.kodeco.com/t/what-is-different-between-async-await-combine-closures/180440/3 "2022-10-27T13:10:18Z")

</div>

thanks for your answer, I think it’s more appropriate to use combine from now on
