ReduxライクなFluxのSwift実装「ReSwift 1.0」が公開
FluxアーキテクチャをSwiftで実装する「ReSwift」プロジェクトが3月19日、「ReSwift 1.0」公開を発表した。
Fluxは「Dispatcher」および「Store」、「View」の3つのコンポーネントを中心にアプリケーションを実装するアーキテクチャ。MVCとは異なり、データのやり取りをDispatcherからStore、StoreからViewの一方向のみに制限することで複雑性を軽減しスケールしやすくするという。
ReSwiftは、Flux実装の1つである「Redux」に似たSwiftによるFlux実装。Benjamin Encz氏が1月に発表したプロジェクトで、Swift開発者にFluxとReduxライブラリの考え方をもたらす「Swift Flow」、ReduxのSwift実装を目指していた「ReduxKit」が合体したもの。
ReSwiftでは、アプリケーションの状態はデータ構造に明示的に保存され、Viewは状態が変更されたときに更新される。また、状態の変更は、記述した軽量データ(Action)により実行される。
1月23日にバージョン0.2.4を公開、その後0.2.5を経て1.0.0となった。公開当初からコアはほぼ完成されており、APIが一部変更されただけとなる。現在、ルーティングなどの拡張は実験的提供と位置付けられている。