Overview
Workflow is an application framework that provides architectural primitives.
Workflow is:
- Written in and used for Kotlin and Swift
- A unidirectional data flow library that 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
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
(including event callbacks) to Mobile UI frameworks for Android and iOS.
- A corresponding testing framework that facilitates simple-to-write unit
tests for all application business logic and helps ensure correctness.
Using Workflows in your project
Swift
See the square/workflow-swift repository.
Kotlin
See the square/workflow-kotlin repository.
Resources
Support & Contact
Workflow discussion happens in the Workflow Community slack. Use this open invitation.
Workflow maintainers also hang out in the #squarelibraries
channel on the Kotlin Slack.
Releasing and Deploying
See RELEASING.md.
License