Sep 19, 2019
VergeはUnidirectional Data Flowを実現するためのライブラリです。
SwiftUI用に新しく作り直している最中
SwiftUI用といっても作りSwiftUIへの依存は特になく、どういうAPIだとSwiftUIと連携を行いやすいか?という観点で開発をしている。 VergeはいわゆるFlux/Reduxのどちらのスタイルも実現可能。
ここでいうそれぞれの差分はシングルストアかマルチストアかぐらいでしか比べてはいないが。 自分はFluxスタイルでのアプリ開発を行ってきたので、Reduxのようなシングルソースから成り立つState構成の設計は難しい。
特に、サーバーから取り込むリレーションを持ったDataをNormalizeして取り込み、それをまたViewにとって扱いやすいものに変換するというフローを行うこと。
Fluxなら不要という訳では決してないのだが、同じ構造体で実現するという方法に戸惑うことが結構ある。
Normalizeについては
Swift版 Normalizer作ろうかな。とも思っている。
デモアプリは結構ハードル高く、マルチユーザーログイン対応の設計をテーマにしている。