The Reactive Workflow Pattern Update
summary
Square’s Point of Sale app refactors its tangled 300‑screen, ~750k‑line codebase (200 contributors, 7+ years) into Rx‑based Reactive Workflows made of small bricks and composable workflows, replacing presenters/runners with state machines, observables and command streams. Uses RxJava/RxSwift patterns, Retrofit, SQLDelight/SQLBrite, Dagger, Coordinators, Espresso/KIF tests, OkBuck and J2ObjC for shared bricks; builds go from 12‑minute clean to faster iterative loops; bricks land in production and workflows compose and run on both Android and iOS.
AI-written summary · about
chapters (11)
- 0:00Introduction and context
- 1:02Current app architecture and issues
- 8:22Two-year plan and goals
- 17:34Core principles for new pattern
- 17:55Introducing workflows and bricks
- 23:05Bricks: reactive business logic
- 26:38Workflows: UI and navigation
- 34:19Implementing workflows
- 39:11How components interact
- 43:06Execution and refactoring tips
- 46:38Current progress and adoption
related talks
40mThe Rx Workflow Pattern
34mReactive Workflows a Year Later
41mSquare Workflow: Android and iOS apps composed of state machines defining UI and navigation.
22mReactive, Clean Architecture and Android Architecture Components, a solid formula for a MVVM based a
24mRefactoring your app in Rx
40mGrowing Pains: Scaling and Re-architecting Apps Under Fire
38mRedux for Android
41mThe definite guide to reactive programming in Java
