Skip to content

Commit 12f94c0

Browse files
authored
Merge pull request #1275 from square/ray/workflow-is
Update README.md to stress navigation via recursion
2 parents 3a799fd + 2d01cdf commit 12f94c0

1 file changed

Lines changed: 18 additions & 8 deletions

File tree

README.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,31 @@
22

33
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
44

5-
Workflow is an application framework that provides architectural primitives.
5+
Workflow is a unidirectional data flow (UDF) library that
6+
provides navigation and state management for Kotlin and Swift applications.
7+
It can be compared to (and helped inspire!)
8+
[TCA](https://github.com/pointfreeco/swift-composable-architecture),
9+
[Circuit](https://github.com/slackhq/circuit)
10+
and [Molecule](https://github.com/cashapp/molecule).
611

7-
Workflow is:
12+
Workflow's main difference from its peers is its opionated take on navigation:
13+
that navigation is just another form of presenter state to be managed,
14+
not a separate special concern.
815

9-
* Written in and used for Kotlin and Swift
10-
* A unidirectional data flow library that uses immutable data within each Workflow.
16+
Workflow…
17+
18+
* Uses immutable data within each Workflow.
1119
Data flows in a single direction from source to UI, and events in a single direction
1220
from the UI to the business logic.
13-
* A library that supports writing business logic and complex UI navigation logic as
21+
* Supports writing business logic and complex UI navigation logic as
1422
state machines, thereby enabling confident reasoning about state and validation of
1523
correctness.
16-
* Optimized for composability and scalability of features and screens.
17-
* Corresponding UI frameworks that bind Rendering data classes for “views”
24+
* Provides excellent support for recursion -- workflows of workflows of workflows --
25+
as its main idiom for navigation.
26+
* Is optimized for composability and scalability of features and screens.
27+
* Includes UI frameworks that bind Rendering data classes for “views”
1828
(including event callbacks) to Mobile UI frameworks for Android and iOS.
19-
* A corresponding testing framework that facilitates simple-to-write unit
29+
* Provides a testing framework that facilitates simple-to-write unit
2030
tests for all application business logic and helps ensure correctness.
2131

2232
## Using Workflows in your project

0 commit comments

Comments
 (0)