RxSwift優良記事まとめ


予備知識

【Swift】クロージャの使い方。名前の無い関数を作る。
特有の関数? mapとは?$0とは?
Swiftのmap, filter, reduce(などなど)はこんな時に使う!
バインド (bind)とは
forとforeachの違い
【Swift】for と forEach の書き方メモ
Promiseと仲良くなって気持ち良く非同期処理を書こう

基本

ハンズオン

RxSwift入門(ハンズオン)
【RxSwift+MVVM入門】チャット風アプリのハンズオン Swift4 - Qiita

比較して学ぶRxSwift4入門」で基本が理解できた
オブザーバーパターンから始めるRxSwift入門(vol.1)
RxSwift 入門 その1 - タコさんブログ
非同期処理してみる(vol.2)
RxSwiftの動作を深く理解する(vol.3)
RxSwiftにおけるマルチスレッドの理解を深める — Schedulerについて
RxSwiftのObservable とは何か
RxSwiftのbindToについて
RxSwiftでBindTo可能な独自プロパティを生やす方法
RxSwiftのDisposeBagとWeakの関係について

イベント発生系

【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた

イベント整理系

【RxSwift】concatとmergeの違いをサンプルを元に整理してみる
mergeイベントがcompleteしてようとなかろうと流れてきた順番に1つずつ通す, concat先に流れてきたイベントがcompleteするまでもう片方は通さないかつ流れてきた順番に1つずつ通す

【Swift】RxSwiftのPlaygroundを読む⑤ - Qiita
→各関数(filter, distinctUntilChanged)が流すイベントの例も合わせて乗っている。
シリーズ通して読みたい

RxOptional

RxSwiftでnilをフィルタリングする – ukitaka – iOS開発とかのメモ

他言語(ReactiveXに関する記事)

連載:Reactive Extensions(Rx)入門 - 第2回 イベント・プログラミングとRx

辞書

RxSwiftの機能カタログ

RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwiftの各関数を定義から遡って読み解こうという資料

実践

fumiyasac/RxSwiftPracticeNote: [ING]RxSwiftの練習記録ノート
RxSwiftでの実装練習の記録ノート(前編:Observerパターンの例とUITableViewの例) - Qiita
iOSアプリ開発 UI実装であると嬉しいレシピブックの著者fumiyasacさんの教材。githubのリポジトリをQiitaの記事の解説を見ながら取り組むと理解が深まる
RxSwiftを使ってアプリを作ってみて、よく使った書き方 - Qiita

RxSwiftとUIライブラリの表現を組み合わせたサンプル紹介 - Qiita
fumiyasac/RxSwiftUIExample: [ING] - RxSwiftとUI実装の組み合わせサンプル
→こちらもgithubリポジトリとセットで見て欲しいfujiyasacさんの教材。MVVMなど他の設計パターンとの兼ね合いも学べる
RxSwiftでの実装練習の記録ノートとはじめの一歩
fujiyasacさんの教材のスライド

RxSwift ObserverとPublishObject, BehaviorSubject - なんとかするから、なんとかなる

UIごと
【RxSwift入門】普段使ってるこんなんもRxSwiftで書けるんよ - Qiita
RxSwiftのUITableViewとのバインディングまとめ - Qiita
RXSwiftを使ったUIScrollViewのページング - Qiita
RxWebKitがいい感じだったよ - タマネギプログラマーの雑記
RxSwiftのすぐに取り込める使用例をまとめてみた🏄🏻 - Qiita

(🔽以下英語2記事)
ClintJang/sample-rxswift-reactorkit-app: RxSwift ReactorKit RxFlow Sample App
ClintJang/sample-rxswift-beginning: RxSwift 시작하기 위해 시작시점의 알아야될 것을 정리 및 셈플링 해보는 저장소입니다.

設計込み

iOSアプリの基本設計を考える:疎結合の概念から構造化,MVVM,RxSwiftまで
MVVMとFluxを勉強してみた。
RxSwiftでのデータストリームの処理について理解しよう(連載第3回)
RxSwiftで双方向データバインディング
Rxを使った設計をビジュアル化する(vol.4)
AVFoundationとRxを組み合わせる

後回し

はじめてのRxSwiftのメモ
RxSwift bind(to: ) を使ってIndicatorViewを回す。