Press "Enter" to skip to content

Uber Clone App using State Machine in Xamarin Forms

For the last few months, I have been writing about State Machine. As the final article of this series and the first article of the year, I’ll show you how to implement State Machine in a real-life scenario, using as an example an Uber Clone App. 

A few years ago, I did this sample of an Uber Clone app, so I’ll take this sample and modify it to use a State Machine. 

Let’s start

As I mentioned in a previous article, the first step when working with State Machines is to define the states that will be handled.

These states can be represented using an Enum:

Create another Enum to define the triggers for each state:

Let’s code

After installing the Stateless package, we create the State machine and configure the initial state:

To connect the State with the UI, we expose a State property that will represent the current state:

Now that we have the UI + ViewModel connected, we can define the rest of our states:

Result:

That’s all for now.

Check the full source code here.

NOTE: This code has a lot of room for improvement, I made this quick sample just to show the concept.

Happy Stateless.