Latest 1.2.4
Homepage https://github.com/geekaurora/ReactiveListViewKit
License MIT
Platforms ios 10.0
Dependencies CZUtils
Frameworks UIKit
Authors

CI Status
Version
License
Platform

  • MVVM + FLUX reactive facade ViewKit for feed based app development
  • Eliminates Massive View Controller in unidirectional Event/State flow manner

Massive View Controller Terminator

  • No more UICollectionViewDataSource/UICollectionViewDelegate overhead
  • No more long if statement to manage model/cell mapping, event handling
  • No more delegation – event driven, loosely coupled pattern
  • FLUX one way data flow solves core problems of MVC:
    • Central Mediator
    • Event Propagration
    • Data Binding

FeedList/FeedDetails Facade ViewClass wraps complex UICollectionView

  • Implement Instagram FeedList within 50 lines of code
  • Embedded HorizontalSectionAdapterView makes nested horizontal ListView implementation within 10 lines code
  • Adaptive to various CellComponent classes:
    • UICollectionViewCell
    • UIView
    • UIViewController – Handles domained events of complex cell
  • Embedded pagination events
    • CZFeedListViewEventpullToRefresh/loadMore etc.

Unidirectional Data Flow

  • Dispatcher: Propagates domained events

  • Store: Maintains State tree

  • Subscriber: Subscribes to Store and updates Components with new State

  • Event: Event driven – more loosely coupled than Delegation

  • State:
    • Waterfall reacting flow
    • Composition: rootState is composited of subStates
    • Reacts to Event and outputs new State, propagates Event to its children nodes via State tree

Automatic Batch Update

  • Smart Diff Algorithm for ListView batch update on top of Longest Common Subsequence
  • Perform Insert/Delete/Move/Update sections/cells based on internal models diff algorithm

Declarative/Stateful/Immutable/Predictable

  • Efficient ViewModel tree diff algorithm, no more imperative manual cells update code

Instagram Demo

Implemented on top of ReactiveListViewKit

Latest podspec

{
    "name": "ReactiveListViewKit",
    "version": "1.2.4",
    "summary": "MVVM + FLUX Reactive Facade ViewKit, eliminates Massive View Controller in unidirectional event/state flow manner.",
    "description": "- MVVM + FLUX reactive facade ViewKit for feed based app developmentn- Eliminates Massive View Controller in unidirectional Event/State flow manner",
    "homepage": "https://github.com/geekaurora/ReactiveListViewKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "geekaurora": "[email protected]"
    },
    "source": {
        "git": "https://github.com/geekaurora/ReactiveListViewKit.git",
        "tag": "1.2.4"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source_files": "ReactiveListViewKit/ReactiveListViewKit/**/*",
    "pod_target_xcconfig": {
        "SWIFT_VERSION": "3"
    },
    "frameworks": "UIKit",
    "dependencies": {
        "CZUtils": []
    },
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This