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が一部変更されただけとなる。現在、ルーティングなどの拡張は実験的提供と位置付けられている。

ReSwift
http://reswift.github.io/ReSwift/