ページ内ナビ
概要
Swift Async AlgorithmsはAsyncSequenceとstructured concurrency向けalgorithm packageです。merge、combineLatest、zip、debounce、throttle、AsyncChannel、AsyncTimerSequenceなど、値の時間変化や複数async streamを扱う処理を共通APIとして提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
複数AsyncSequenceをmerge・combineLatest・zipで合成する
複数のasync inputを1つのsequenceへmergeしたり、最新値をtuple化するcombineLatest、対応する順序で組み合わせるzipなどを利用できます。
出典:[2]
debounce・throttle・timer・channelで時間とback pressureを扱う
debounce/throttleでevent頻度を制御し、AsyncTimerSequenceで周期event、AsyncChannel/AsyncThrowingChannelでback pressure付きのproducer-consumer flowを構成できます。
出典:[2]
向いている用途
search input・sensor/event stream・複数非同期sourceをSwift concurrencyで組み立てたい場合に向く
Combineなど別reactive frameworkを導入せず、async/awaitとAsyncSequenceを中心にevent streamをcomposeしたいSwift applicationに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]apple/swift-async-algorithms — GitHub repository(2026-10-06)
- [2]Swift Async Algorithms 1.1.7 — README(2026-10-06)
- [3]Swift Async Algorithms 1.1.7 — Package.swift(2026-10-06)
- [4]Swift Async Algorithms 1.1.7 release(2026-10-06)
- [5]Swift Async Algorithms Apache-2.0 license(2026-10-06)
編集部からの補足
async/awaitとAsyncSequenceを中心にsearch inputやevent streamをcomposeしたいSwift appに向きます。AsyncStreamingはunstable traitなのでstable APIが必要なlibraryでは依存範囲を確認してください。
3ステップで試す
- 1
Swift Async Algorithms 1.1.7をSwiftPMへ追加する
確認済みreleaseを固定します。Package.swiftはSwift tools 6.2です。
.package(url: "https://github.com/apple/swift-async-algorithms.git", exact: "1.1.7") - 2
AsyncAlgorithms productをtargetへ追加する
stableなAsyncAlgorithms moduleをtarget dependencyへ追加します。
.product(name: "AsyncAlgorithms", package: "swift-async-algorithms") - 3
SequenceをAsyncSequenceとして処理する
同期Sequenceをasync sequenceへ変換し、for-awaitで値を処理します。
import AsyncAlgorithms for await value in [1, 2, 3].async { print(value) }
成長
成長の推移 · 直近30日
3,713 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 5
- Open PR
- 33
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- swift
- Stars
- 3,713
- Forks
- 230
- Watchers
- 152
- Open Issues
- 46
- Contributors
- 63
- 所有者種別
- Organization
- 主要言語
- Swift
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Flutter179,343 Stars
共通タグ 3件 · 共通カテゴリ 2件
Dartの一つのcodebaseからmobile・web・desktop UIを構築するcross-platform SDK
Dart - React Native126,797 Stars
共通タグ 3件 · 共通カテゴリ 2件
React componentをnative UIへ描画するmobile framework。0.87.1とframework-first導線を整理
C++ - Tauri111,593 Stars
共通タグ 3件 · 共通カテゴリ 2件
web frontendとRust native layerをsystem WebView上のdesktop/mobile appへまとめる
Rust - Expo52,566 Stars
共通タグ 3件 · 共通カテゴリ 2件
React NativeアプリをAndroid・iOS・Webへ一つのprojectから展開する
TypeScript - Lottie for iOS26,894 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
After Effects由来のJSON・.lottieアニメーションをApple platformでnative描画する
Swift - Moya15,353 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
TargetTypeでAPI endpointを型として定義し、通信・stub・pluginを統一する
Swift
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。