Square Workflow: Android and iOS apps composed of state machines defining UI and navigation.
Ray Ryan & Zach Klippenstein
Senior Software Citizen & Kotlin Plumber
Ray Ryan spends his days trying to make Android development tolerable. He has been goading people into writing software the way he thinks they should since the 1980s.
Zach has been building Android apps at Square for over four years. He gets out of bed in the morning to make doing that easy and fun for others.
A couple of years ago Square realized that Point of Sale, its flagship app for Android and iOS, was becoming unmaintainable, with developers afraid of the code they had to ship every two weeks. We decided to re-architect our way out of the mess, and gave a few public updates describing our plans (, ) along the way. This year we have released [Square Workflow], a library for Kotlin and Swift that is the culmination of this effort, and now at the heart of our feature development. This talk will provide an introduction to the library’s use and design choices, including how it was inspired by and differs from [React] and [Elm], and how the Kotlin implementation leans on [coroutines].