こんにちは、こばやしよしのり @yoshiii514 です。
この記事ではRxSwiftを効率的に攻略するための方法について解説します。
RxSwiftの細かな文法は解説せずに、参考になった情報とその使い方を解説したいと思います。
【目 次】
RxSwiftを学習する前に
さすがに、SwiftとXcodeの基礎知識は必要になります。初心者向けの学習教材と学習方法は次の記事でまとめていますので、参考にしてください。
RxSwiftとは?ReactiveXとは?
RxSwiftとはReactiveXと言われるライブラリのSwift版です。
ReactiveXは、非同期およびイベントベースのプログラムを作成するためのライブラリです。
Observerパターンでは、観察対象の状態が変化すると、観察者に対して通知される。Observerパターンは、状態変化に応じた処理を記述するときに有効です。
RxSwiftの公式ページ
ReactiveX/RxSwift: Reactive Programming in Swift
公式ページを翻訳すれば読めるのですが、単語が専門的すぎて簡単には理解できないです。公式ページを頑張って読むぐらいなら、本や動画教材を購入したほうが早く理解して使えるようになります。
Java言語で学ぶデザインパターン入門で概要を掴む
RxSwiftの概念は、他のプログラミング言語でも広く使われています。
基礎となるオブザーバ・パターンについては、「Java言語で学ぶデザインパターン入門」の「第17章 Observerー状態の変化を通知する」にわかりやすく書かれています。Java言語ですが、概念は理解できると思います。
また、この本で書かれている各種デザインパターンはアプリ開発にも取り入れられていますので、参考図書としても最適な一冊です。
オブジェクト指向における再利用のためのデザインパターン
デザインパターンとは、オブジェクト指向でソフトウエア設計を行う際に利用するカタログ集です。例えば、経験豊かなプログラマは以前に解いた問題と、これから新しく解こうとしている問題が類似していることに気づけば、以前に使った解法が応用できる。デザインパターンとはこうした解法をだれでも再利用できるように一般化(パターン化)したものの寄せ集めです。
RxSwiftの概念は従来からあるデザインパターンに沿って作られています。書籍「オブジェクト指向における再利用のためのデザインパターン」では、従来からあるデザインパターンがわかりやすく図解で解説されているため、基礎学習には良い書籍です。
Swift実践入門
RxSwiftは、XcodeとSwiftだけでは足りないものを補強するために使います。その「足りないもの」を前提知識としてサラッと学習しておくと、RxSwift使うメリットが見えてきます。
Swift実践入門のイベント通知(デリゲートパターン、クロージャ、オブザーバパターン)や非同期処理の章が該当します。XcodeとSwiftだけでもデキるのですが、RxSwiftを使うとより便利!というのがわかることが重要です。
比較して学ぶRxSwift入門(Kindle版)
日本語で書かれた唯一のRxSwift本です。
言葉やイラストがとてもわかりやすい。
本は写経(ひたすらコードを打って学習)にむいているので、最初はこの本のサンプルコードを写経しつつ、本の解説をコメントでまとめていくような学習がベストですね。
本が少し古いですが、問題なく学習できます。
Kindle Unlimited対応なので会員であれば、無料で本がゲットできるのも嬉しいです。
Mastering RxSwift in iOS(Udemy)
RxSwiftを動画で学ぶにはUdemyの海外コンテンツがとても良いです。
英語での解説になりますが、RxSwift自体が英単語が多いのと、コードで理解できるので学習はできます。それに、Udemyでは英語ですが字幕をONにできるので、言葉を理解することはできます。
最終更新日も「2020/10」と比較的に新しいので、Xcodeの最新バージョンでも学習ができます。
Udemyでは2000円前後で購入できるセールスが頻繁におこなわれているます。ぜひ、チェックしてみてください。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
グループのメンバーとして参加する
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。