Repolode
ReactiveX

ReactiveX/RxSwift

Observableシーケンスを使って非同期イベントやデータストリームを合成する、Reactive Extensions(Rx)のSwift実装です。

スター
24,627
フォーク
4,147
未解決の Issue
19
最終コミット
2 か月前

これは何?

RxSwiftは、Reactive Extensions(ReactiveX)のモデルをSwiftに導入します。非同期処理、UIイベント、KVOの監視などのデータストリームをObservableシーケンスとして表現し、豊富なオペレーターで変換・フィルタリング・結合したうえで、値や完了イベントを購読できます。

プロジェクトはいくつかのモジュールに分かれています。RxSwiftは外部依存のないコアです。RxCocoaはiOS、macOS、tvOS、watchOS向けに、UIKitやAppKitのコントロールとのバインディングや、Driverなどの共有シーケンスとTraitといったCocoa固有のヘルパーを追加します。RxRelayはPublishRelay、BehaviorRelay、ReplayRelayを提供し、RxTestとRxBlockingはRxベースのコードのテストを支援します。

RxSwiftはSwift Package Manager、Carthage、XCFrameworks、またはgit submoduleを使って導入できます。リポジトリにはサンプルアプリと、入門、Trait、テスト、よくある落とし穴を扱うドキュメントが含まれています。

主な機能

  • 01Observableシーケンスで非同期処理、UIイベント、KVOストリームを統一して扱えます。
  • 02ストリームを変換・フィルタリング・結合する幅広いオペレーターを提供します。
  • 03RxCocoaはAppleのUIフレームワーク向けにバインディングと共有シーケンスを提供します。
  • 04RxRelayはPublishRelay、BehaviorRelay、ReplayRelayを提供し、Subjectをラップします。
  • 05RxTestとRxBlockingでRxベースのコードをテストできます。
  • 06Swift Package Manager、Carthage、XCFrameworksで導入できます。

ユースケース

  • デバウンスとキャンセルを使い、ネットワーク検索の結果をテーブルビューにバインドする。
  • iOSアプリで複数の非同期API呼び出しを単一のリアクティブなパイプラインにまとめる。
  • MVVMスタイルのアーキテクチャで、ユーザー入力やモデルの変更をもとにUIの状態を更新する。
  • RxTestを使って非同期ストリームのロジックをユニットテストする。

クイックスタート

  1. 1

    Package.swift に RxSwift を依存関係として追加する

  2. 2

    Swift Package Manager でプロジェクトをビルドする

    swift build

使う前に知っておきたいこと

  • README には、ビルドに影響する可能性がある未解決の Swift Package Manager の相互依存関係のバグ(SR-12303)が記載されています。

収録されている特集

トピック

#reactive-programming#swift#ios#functional-programming#observable#async#rxswift#functional#observer#reactive

よくある質問

RxSwift とは?
Observableシーケンスを使って非同期イベントやデータストリームを合成する、Reactive Extensions(Rx)のSwift実装です。 RxSwiftは、Reactive Extensions(ReactiveX)のモデルをSwiftに導入します。非同期処理、UIイベント、KVOの監視などのデータストリームをObservableシーケンスとして表現し、豊富なオペレーターで変換・フィルタリング・結合したうえで、値や完了イベントを購読できます。
RxSwift は無料で使えますか?ライセンスは?
RxSwift は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
RxSwift は今もメンテナンスされていますか?
半年以内に更新あり。RxSwift の最終コミットは 2026年9月4日 です。
RxSwift は何に使えますか?
デバウンスとキャンセルを使い、ネットワーク検索の結果をテーブルビューにバインドする。 iOSアプリで複数の非同期API呼び出しを単一のリアクティブなパイプラインにまとめる。 MVVMスタイルのアーキテクチャで、ユーザー入力やモデルの変更をもとにUIの状態を更新する。 RxTestを使って非同期ストリームのロジックをユニットテストする。
RxSwift のインストール方法は?
Package.swift に RxSwift を依存関係として追加する Swift Package Manager でプロジェクトをビルドする: swift build
RxSwift はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ReactiveX/RxSwift

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

依存セルを自動で再実行し、ノートブックをプレーンな .py ファイルとして保存して、スクリプトやデプロイ済みアプリとして実行できるリアクティブなPythonノートブック。

2.3万+83 今週1374PythonApache-2.0活発にメンテナンス更新 19 時間前