We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Rise of the State Machines

Formal Metadata

Title
The Rise of the State Machines
Subtitle
an introduction to predictable state container based architectures for your android apps
Title of Series
Number of Parts
90
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
You're right, that title seems scary: there are so many complicated words and... come on, we all know there's no silver bullet in programming. So instead of superficially explaining why an architecture is better than another, let's discuss some issues we face in our daily Android development job and how we can solve those easily through 3 examples. 1. I have crashes I can't reproduce. Those crashes can be seen on different devices. I would like to know exactly all the steps that led to these issues to understand and fix those easily. 2. Integration tests are great and necessary to ensure a complete flow is working as expected, but they are complex to set up, and it takes time to run the whole test suite when using aninstrumentation tool such as Espresso 3. My legacy app has some "startActivity" calls in activites, fragments, custom views, and even in RecyclerView adapters (who did that !?!). I have no visibility regarding the overall navigation of my app and the code is sometimes hard to follow. Hopefully, those issues are not specifically targeting Android, but all front-end developers. And some huge companies and smart people have already worked for years on how we could avoid those. Redux, for instance, is becoming increasingly popular with web front-end developers, because this predictable state container tool helps you write applications that behave consistently and are easy to test. We will see today the concepts underneath and how such an architecture can be implemented using functional programming patterns through writing a Kotlin DSL. This talk is targetting developers who have already written some Kotlin code. At the end of the talk, you will get a new, fresh, vision on how to approach programming on Android, through a unidirectional data flow structure, and maybe you'll be interested in implementing a similar architecture in your apps.