fish_redux 0.3.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 96

Fish Redux

Build Status pub package codecov

What is Fish Redux ? #

Fish Redux is an assembled flutter application framework based on Redux state management. It is suitable for building medium and large applications.

It has four characteristics:

  1. Functional Programming
  1. Predictable state container
  1. Pluggable componentization
  1. Non-destructive performance

Architecture diagram #

Installation #

Go

Documentation #

Language: English | 中文简体

Examples #

  • todo list - a simple todo list demo.
  • run it:
cd ./example
flutter create .
flutter run

What's the difference between 'Fish Redux' and 'Redux' ? #

Plugins #

Code Template #

Dev-Tools #

License #

  • Fish Redux is released under the Apache 2.0 license. See LICENSE for details.

关于我们 #

阿里巴巴-闲鱼技术是国内最早也是最大规模线上运行Flutter的团队。

我们在公众号中为你精选了Flutter独家干货,全面而深入。

内容包括:Flutter的接入、规模化应用、引擎探秘、工程体系、创新技术等教程和开源信息。

架构/服务端/客户端/前端/质量工程师 在公众号中投递简历,名额不限哦

欢迎来闲鱼做一个好奇、幸福、有影响力的程序员,简历投递:tino.wjf@alibaba-inc.com

订阅地址

For English

[0.3.1]

  • rename AdapterSource’s api
  • add PureViewComponent
  • deprecate broadcastEffect

[0.3.0]

  • add SourceFlowAdapter
  • Use SourceFlowAdapter instead of DynamicFlowAdapter in example
  • deprecate DynamicFlowAdapter

[0.2.8]

  • fix item-bean clone bug #493

[0.2.7]

  • add StateKey #461
  • reselect optimization #482

[0.2.6]

  • add TickerProviderMixin
  • let dispatch return whatever result in effect. #462
  • fix Reselect's _listEquals bug #457
  • fix SingleTickerProviderMixin & TickerProviderMixin’s dispose bug #461
  • add ClearOnDependenciesChanged

[0.2.5]

  • add ctx.listen api
  • rename LocalState to LocalProps
  • correct some comments

[0.2.4]

  • fix Context.broadcast bug #375
  • fix PrivateReducerMixin bug #380
  • add LocalState

[0.2.3]

  • Reconstruct Context
  • Breaking-change
    • Reconstruct dependencies
    • Remove OOP style
    • Remove higherEffect
    • Remove deprecated api(Connector, createMixedStore, AutoDispose:follow, AutoDispose:follower)
    • Remove unused DisposedException
  • Hide widgets.dart's Action to compate with flutter1.7
  • Compate with flutter_web

[0.2.2]

  • add congruent conn
  • fields mainCtx & viewUpdater in ComponentState become public
  • fix bug when a store recived action after teardown

[0.2.1]

  • add forceUpdate api on context
  • fix bug in adapter’s appear & disappear if items are recycled
  • fix bug in connectStores api if page has no reducer

[0.2.0]

  • force update if driven by outside observable
  • fix inverter bugs & optimization connectStores api
  • modify the use of global state in example

[0.1.9]

  • add mixed-store's batch notification feature

[0.1.8]

  • add api to subscribe app-store for page-store
  • add api to subscribe app-store for component
  • add viewMiddleware
  • add adapterMiddleware
  • add effectMiddleware
  • add protected attribute method, more friendly to OOP
  • remove debug_report

[0.1.7]

  • reconstruct mixed-store
  • reconstruct communication
  • rename appBroadcast to broadcast
  • rename pageBroadcast to broadcastEffect
  • add dispatch-bus
  • enhance dispatch-api
  • add some docs
  • move test to dev_dependencies

[0.1.6]

  • fix bug if component has no reducer in app-routes
  • reconstruct createStore
  • app-routes's store to be visible

[0.1.5]

  • fix bug if notified on building
  • reconstruct test
  • add mergeMiddleware$

[0.1.4]

  • add support for AppStore
  • add routes
  • move middleware/aop to the top dir
  • add PrivateReducerMixin
  • add reselect
  • add docs

[0.1.3]

  • add support for immutable-state #111
  • fix the same type of state component reuse in listview #107
  • remove warnings in logMiddleware for debug-actions #98
  • correct spelling
  • modify bindAction #73

[0.1.2]

  • add stfState field in Context #58
  • add batchedNotify feature in page-store
  • add some docs
  • correct spelling

[0.1.1]

  • fix hot-reload bug
  • add excluedSelf in broadcast
  • rename sample to example
  • rename docs to doc

example/README.md

sample #

A new Flutter project.

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  fish_redux: ^0.3.1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:fish_redux/fish_redux.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
93
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
96
Learn more about scoring.

We analyzed this package on Nov 15, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.0
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.6

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/src/redux_component/component.dart. (-1 points)

Analysis of lib/src/redux_component/component.dart reported 2 hints:

line 7 col 8: Unused import: 'dispatch_bus.dart'.

line 8 col 8: Unused import: 'enhancer.dart'.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test
test ^1.5.1
test_widgets