- MVVM + Redux reactive facade ViewKit for Feed based app development
- Eliminates Massive View Controller in unidirectional Action / State flow
- No more
UICollectionViewDataSource
/UICollectionViewDelegate
overhead - No more giant if statements to manage model / cell mapping, action handling
- No more coupling Delegation pattern: 1 to n Action-driven pattern, more loosely coupled
- FLUX one way data flow - solves core problems of MVC:
- Central mediator
- Chaining callback propagation
- Data binding
- Implement Instagram FeedList within 50 lines of code
- Embedded
HorizontalSectionAdapterView
simplifies nested horizontal ListView implementation within 10 lines code - Adaptive to various CellComponent classes:
UICollectionViewCell
UIView
UIViewController
- handles domained actions of complex Cell
- Embedded convenient actions set
CZFeedListViewAction
-pullToRefresh
/loadMore
etc.
-
Dispatcher: Propagates domained actions
-
Store: Maintains
State
tree -
Subscriber: Subscribes to
Store
and updates Components with newState
-
Action: Action driven - more loosely coupled pattern than
Delegation
pattern -
State:
- Waterfall reacting flow
- Composition:
RootState
is composed ofSubstates
- Reacts to
Action
and outputs newState
, propagatesAction
to children nodes viaState
tree
- Smart Diff Algorithm for ListView incremental updates on top of
Longest Common Subsequence
- O(n) time complexity - Perform
Insert/Delete/Move/Update
of Sections/Cells based on internal models diff algorithm
Implemented on top of ReactiveListViewKit