自作して理解するリアクティブプログラミングフレームワーク by y.imajo

iOSDC Japan 2019
レギュラートーク(60分)

自作して理解するリアクティブプログラミングフレームワーク

yimajo y.imajo yimajo
2

WWDC19で発表されたCombine.frameworkはリアクティブプログラミングという言葉では発表されなかったものの、
複雑になりがちなイベント処理をデータの流れとして統一的に扱い、
イベントへ反応する処理を組み合わせる宣言的なコーディングを実現します。
このことによりCombine.frameworkは最近のリアクティブプログラミングのパラダイムに沿ったフレームワークと言えるでしょう。

そして、同じくWWDC19で発表されたSwiftUIと並んで、
iOS 13以降のiOSアプリ開発の標準手法となりゲームチェンジャーとなっていくはずです。
そのような将来に備えて、
我々はリアクティブプログラミングのパラダイムを仕組みから理解する時がやってきたのです。

このトークでは、
現状のリアクティブプログラミングフレームワークであり広く普及しているRxSwiftを構成するソースコードを解説し、
それを参考にテストコードを交えながら最小限のリアクティブプログラミングフレームワークをトークの中で作成していきます。

そのことにより、今まで雰囲気で知っていた次のルールがその心で理解できるはずです

  • Coldなストリームはなぜsubscribeされないと動作しないのか
  • SubjectがObservable/Observerの性質を持つというのはどういう意味か
  • ColdをHotなストリームに変換する具体的な方法
  • Hotなストリームがsubscribeされても1回しかイベントを発生しないとはどういう原理か

本セッションの進行とともに、皆さんには「理解したわー。リアクティブプログラミング完全に理解したわー」という感想を持っていただければ幸いです。