I was covering Elixir in the previous artiles for a while.
Now I think it is time to start talking about web development using Elixir.
One of the most popular framework to do that is Phoenix which is built on top of Elixir and uses all its advantages.
In the previous articles, we have covered how to work with the processes in Elixir on a low level.
We have also covered what kind of wrappers exist around processes. That can help us to avoid writing that low-level code. Yes, I am mentioning Agents and Tasks now.
Now it’s time to get familiar with OTP and its features called GenServer and Supervisors.
Let’s dive in.
In the previous article
we have covered the basics of working with multiple processes.
In order to make it properly work we need to implement several things.
We need recursively listen to messages, we need to handle timeouts and send messages.
That looks like a lot of stuff which can lead to mistakes. To prevent that, Elixir provides us nice wrappers around processes such as Agents and Tasks.
Agents allow us to keep a state and Tasks help us to run processes in parallel.
This time we will go deeper and get familiar with the concurrent programming in Elixir.
We will meet processes. Will learn what are they, why do we need them and how to work with them.
In the previous articles, we have implemented the Toy Robot (you can find it here Part 1 and Part 2).
This time we will improve the implementation and turn it into a console application.
In that application, we will be able to run the simulator and give commands to the robot.