- RxSwift 3.x / Swift 3.x can be found in rxswift-3.0 branch.
 
Rx is a generic abstraction of computation expressed through Observable<Element> interface.
This is a Swift version of Rx.
It tries to port as many concepts from the original version as possible, but some concepts were adapted for more pleasant and performant integration with iOS/macOS environment.
Cross platform documentation can be found on ReactiveX.io.
Like the original Rx, its intention is to enable easy composition of asynchronous operations and event/data streams.
KVO observing, async operations and streams are all unified under abstraction of sequence. This is the reason why Rx is so simple, elegant and powerful.
- why use rx?
 - the basics, getting started with RxSwift
 - traits - what are 
Single,Completable,Maybe,Driver, andControlProperty... and why do they exist? - testing
 - tips and common errors
 - debugging
 - the math behind Rx
 - what are hot and cold observable sequences?
 
- Integrate RxSwift/RxCocoa with my app. Installation Guide
 
- with the example app. Running Example App
 - with operators in playgrounds. Playgrounds
 
- All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences. 
Join Slack Channel
 - Report a problem using the library. Open an Issue With Bug Template
 - Request a new feature. Open an Issue With Feature Request Template
 - Help out Check out contribution guide
 
- libraries from RxSwiftCommunity.
 - Pods using RxSwift.
 
- Does this exist for Android? RxJava
 - Where is all of this going, what is the future, what about reactive architectures, how do you design entire apps this way? Cycle.js - this is javascript, but RxJS is javascript version of Rx.
 
- Xcode 9.0
 - Swift 4.0
 - Swift 3.x (use 
rxswift-3.0branch instead) - Swift 2.3 (use 
rxswift-2.0branch instead) 
Rx doesn't contain any external dependencies.
These are currently the supported options:
Open Rx.xcworkspace, choose RxExample and hit run. This method will build everything and run the sample app
Tested with pod --version: 1.3.1
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
    pod 'RxSwift',    '~> 4.0'
    pod 'RxCocoa',    '~> 4.0'
end
# RxTest and RxBlocking make the most sense in the context of unit/integration tests
target 'YOUR_TESTING_TARGET' do
    pod 'RxBlocking', '~> 4.0'
    pod 'RxTest',     '~> 4.0'
endReplace YOUR_TARGET_NAME and then, in the Podfile directory, type:
$ pod installTested with carthage version: 0.26.2
Add this to Cartfile
github "ReactiveX/RxSwift" ~> 4.0
$ carthage updateTested with swift build --version: Swift 4.0.0-dev (swiftpm-13126)
Create a Package.swift file.
// swift-tools-version:4.0
import PackageDescription
let package = Package(
  name: "RxTestProject",
  dependencies: [
    .package(url: "https://github.com/ReactiveX/RxSwift.git", "4.0.0" ..< "5.0.0")
  ],
  targets: [
    .target(name: "RxTestProject", dependencies: ["RxSwift", "RxCocoa"])
  ]
)$ swift buildTo build or test a module with RxTest dependency, set TEST=1. (RxSwift >= 3.4.2)
$ TEST=1 swift test- Add RxSwift as a submodule
 
$ git submodule add [email protected]:ReactiveX/RxSwift.git- Drag 
Rx.xcodeprojinto Project Navigator - Go to 
Project > Targets > Build Phases > Link Binary With Libraries, click+and selectRxSwift-[Platform]andRxCocoa-[Platform]targets 
- http://reactivex.io/
 - Reactive Extensions GitHub (GitHub)
 - RxSwift RayWenderlich.com Book
 - Boxue.io RxSwift Online Course (Chinese 🇨🇳)
 - Erik Meijer (Wikipedia)
 - Expert to Expert: Brian Beckman and Erik Meijer - Inside the .NET Reactive Framework (Rx) (video)
 - Reactive Programming Overview (Jafar Husain from Netflix)
 - Subject/Observer is Dual to Iterator (paper)
 - Rx standard sequence operators visualized (visualization tool)
 - Haskell