リアクティブプログラミングのパラダイムをおさらいし、iOS 13以降のCombine.frameworkに備える by y.imajo

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

リアクティブプログラミングのパラダイムをおさらいし、iOS 13以降のCombine.frameworkに備える

yimajo y.imajo yimajo
2

このトークはCombine.frameworkとは何であり、何ができるかということを既存のRxSwiftと比較する形で説明します。

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

そして、同じくWWDC19で発表されたSwiftUIと並んで、
iOS 13以降のiOSアプリ開発の標準手法となりゲームチェンジャーとなっていくはずです。
そのような将来に備えて、
なぜリアクティブプログラミングがここまで普及していて、
どう使えばよりよく使いこなせるのかを考えていくことをあらかじめ整理しておく必要があるはずです。

そのため、これまでのリアクティブプログラミングフレームワークのプログラミングパラダイムについての歴史を振り返り、
現状のリアクティブプログラミングフレームワークであり広く普及しているRxSwiftの採用する関数型プログラミング・Observerパターン・Iteratorパターンそれぞれのアイデアについてもおさらいします。

なお、Combine.frameworkの内容は現在公開されているベータ用ドキュメントから考察するものであり、
正式版とは仕様や動作が異なる可能性があります。
さらに、今回のトークで発表していない内容の質問に関しては答えない可能性があり、
発表資料の一般公開は予定していません。