/RxSwiftExamples

Examples and resources for RxSwift.

Primary LanguageSwiftMIT LicenseMIT

RxSwiftExamples


## Branch master is currently trying to move to Swift 3.0 version. If you want to see Swift 2.2 version of this repo, please see the [swift-2.2](https://github.com/DroidsOnRoids/RxSwiftExamples/tree/swift-2.2) branch.

This repo should be a nice starting point for anyone that wants to start the new adventure called FRP with RxSwift. However, here we also have some references to more advanced examples so that no-one feels unsubscribed 😎

We try to deeply comment our examples, but bear with us if they aren't and if you have any questions just use the contact information on the bottom of the page and ask away!

Tutorials

  1. RxSwift by Examples #1 - The basics. Start your adventure with FRP and RxSwift. This article starts from the basics and shows the example of searching using Rx. Demo.
  2. RxSwift by Examples #2 – Observable and the Bind. Bindings, subjects, variables and stuff. We are observing and we are observed! Demo
  3. RxSwift by Examples #3 - Networking. Networking, Moya, request chaining, optional observers and more!
  4. RxSwift by Examples #4 - Multithreading - observeOn(), subscribeOn(), Driver and more!

Utilites

  1. NSObject-Rx - Handy RxSwift extensions on NSObject, including rx_disposeBag.
  2. ObservableArray-RxSwift - ObservableArray is an array that can emit messages of elements and diffs on it's changing.
  3. Cell+Rx - Handy RxSwift extensions on UITableViewCell and UICollectionViewCell, including rx_reusableDisposeBag.
  4. RxOptional - RxSwift extentions for Swift optionals and "Occupiable" types.
  5. RxExt - Additional operators not found in the core RxSwift distribution.

Extensions to built-in frameworks

  1. RxDataSources - Table and Collection View Data Sources for RxSwift. Example
  2. RxBluetooth - RxBluetooth is a wrapper library to work with RxSwift and CoreBluetooth.
  3. RxSegue - Reactive generic segue, implemented with RxSwift.
  4. RxEasing - RxSwift-based easing library.
  5. RxAction - Abstracts actions to be performed in RxSwift. Example
  6. RxWebKit - RxWebKit is a RxSwift wrapper for WebKit. Example
  7. RxMKMapView - RxMKMapView is a RxSwift wrapper for MKMapView delegate. Example
  8. RxMediaPicker - A reactive wrapper built around UIImagePickerController.
  9. RxViewModel - ReactiveViewModel-esque using RxSwift.
  10. RxGesture - RxSwfit reactive wrapper for view gestures.
  11. RxAppState - RxSwift extensions for UIApplicationDelegate methods to observe changes in your app's state.
  12. RxBluetoothKit - iOS Bluetooth library for RxSwift.
  13. RxMultipeer - RxSwift wrapper for MultipeerConnectivity.

Extensions to external frameworks

  1. RxAlamofire - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire. Example
  2. RxRealm - Rx wrapper for Realm's collection types.
  3. RxNimble - Nimble extensions that making unit testing with RxSwift easier.
  4. RxQueryKit - RxSwift extensions for dealing with QueryKit.
  5. FirebaseRxSwiftExtensions - Extension Methods for Firebase and RxSwift.
  6. ReduxKitRxSwift - RxSwift bindings for ReduxKit.
  7. RxHyperdrive - RxSwift extensions for Hyperdrive, the generic Swift Web API client.
  8. RxBrightFutures - RxSwift wrapper around the Future/Promise library BrightFutures.
  9. RxMoya - RxSwift wrapper for Moya. Example
  10. RxSimpleNoSQL - Reactive extensions for SimpleNoSQL.
  11. RxPermission - RxSwift bindings for Permissions API in iOS.

Examples

  1. RxChat - Chat application also using RxSwift.
  2. RxPagination - Really nice demo for "Protocol-Oriented Programming in Networking", using RxSwift.
  3. RxTestScheduler - Example of how you can use RxSwift's TestScheduler. Unfortunately comments are not in English 😥
  4. RxGitHubAPI - GitHub API example. Unfortunately comments are not in English 😥
  5. Parse-RxSwift - A collection of wrapper classes that allow you to use RxSwift Observers in place of Parse's callbacks.
  6. RxSwiftGram - Educational App using RxSwift and MVVM with the Instagram API.

Applications

  1. Eidolon - The Artsy Auction Kiosk App.
  2. Boilerplate - GitHub client using MVVM and RxSwift.
  3. ReactiveWeatherExample - A simple iOS weather app using the MVVM pattern and RxSwift framework.
  4. RxMarbles - RxMarbles iOS app.
  5. CountItApp - Dead simple App with Apple Watch integration that lets you count anything.
  6. WhatFilm - Simple iOS app showing popular films, their cast and crew along with images and links to the trailers.

More

  1. RxSnippets - Several snippets for work with RxSwift
  2. RxSugar - Simple RxSwift extensions for interacting with Apple APIs.
  3. ReactiveCommander - Reactive Command pattern. This one is for RxSwift as well as for ReactiveCocoa.
  4. CollectionVariable - RxSwift Variable for collections that report individual changes in the collection.
  5. RxTwift - A type safe Twitter API client constructed on RxSwift.

Contributing

Feel free to make issues/pull requests if you find something wrong in examples or readme, as well as you can add things you would want to see or you know that are written in RxSwift. Let's make our lives better and help each other!

Author

Sunshinejr, thesunshinejr@gmail.com, @thesunshinejr

License

RxSwiftExamples is available under the MIT license. See the LICENSE file for more info.