From e7343931a739de9205c63c2f3f40a8f79dd01f08 Mon Sep 17 00:00:00 2001 From: Ray Ryan Date: Tue, 29 Jul 2025 15:18:09 -0400 Subject: [PATCH 1/2] Update README.md to stress navigation via recursion --- README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0e4c3d18e..19eb16d1c 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,31 @@ [![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0) -Workflow is an application framework that provides architectural primitives. +Workflow is a unidirectional data flow (UDF) library that +provides navigation and state management for Kotlin and Swift applications. +It can be compared to (and helped inspire!) +[TCA](https://github.com/pointfreeco/swift-composable-architecture), +[Circuit](https://github.com/slackhq/circuit) +and [Molecule](https://github.com/cashapp/molecule). -Workflow is: +Workflow's main difference from its peers is its opionated take on navigation: +that navigation is just another form of presenter state to be managed, +not a separate special concern. -* Written in and used for Kotlin and Swift -* A unidirectional data flow library that uses immutable data within each Workflow. +Workflow… + +* Uses immutable data within each Workflow. Data flows in a single direction from source to UI, and events in a single direction from the UI to the business logic. -* A library that supports writing business logic and complex UI navigation logic as +* Supports writing business logic and complex UI navigation logic as state machines, thereby enabling confident reasoning about state and validation of correctness. -* Optimized for composability and scalability of features and screens. -* Corresponding UI frameworks that bind Rendering data classes for “views” +* Provides excellent support for recursion -- workflows of workflows of workflows -- + as its main idiom for navigation. +* Is optimized for composability and scalability of features and screens. +* Includes UI frameworks that bind Rendering data classes for “views” (including event callbacks) to Mobile UI frameworks for Android and iOS. -* A corresponding testing framework that facilitates simple-to-write unit +* Provides a testing framework that facilitates simple-to-write unit tests for all application business logic and helps ensure correctness. ## Using Workflows in your project From 2d01cdf4b20eb4b27d5dbb2af274078c57f160a5 Mon Sep 17 00:00:00 2001 From: Ray Ryan Date: Tue, 29 Jul 2025 15:26:17 -0400 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 19eb16d1c..4151c0c46 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Workflow is a unidirectional data flow (UDF) library that provides navigation and state management for Kotlin and Swift applications. -It can be compared to (and helped inspire!) +It can be compared to (and helped inspire!) [TCA](https://github.com/pointfreeco/swift-composable-architecture), [Circuit](https://github.com/slackhq/circuit) and [Molecule](https://github.com/cashapp/molecule).