配列やオブジェクトなどの一般的な処理に使える、data-firstとdata-lastの両方に対応したTypeScriptユーティリティライブラリです。
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
Package.swift に RxSwift を依存関係として追加する
- 2
Swift Package Manager でプロジェクトをビルドする
swift build
使う前に知っておきたいこと
- README には、ビルドに影響する可能性がある未解決の Swift Package Manager の相互依存関係のバグ(SR-12303)が記載されています。
収録されている特集
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
自己調整計算に基づき、入力が変化したときに効率よく更新される計算を構築するためのOCamlライブラリです。
The Elm Architectureのmodel-update-viewパターンを使ってターミナルUIを構築するためのGoフレームワークです。
observableシーケンスを使って非同期・イベントベースのプログラムを組み立てる、Java VM向けReactive Extensions実装。
依存関係を自動追跡し、再レンダリングを最適化する、JavaScript・TypeScriptアプリ向けのシンプルでスケーラブルな状態管理ライブラリ。
依存セルを自動で再実行し、ノートブックをプレーンな .py ファイルとして保存して、スクリプトやデプロイ済みアプリとして実行できるリアクティブなPythonノートブック。