Having looked at Ecto and how we can use it to add a persistence layer to our application, we will now delve into Phoenix, the most popular web framework in Elixir. Phoenix is often characterized as being a productive, reliable, and fast framework.
Productive because it removes as much boilerplate code as possible, without impacting the explicitness cherished by the Elixir community. This way, you can move fast and take advantage of the macros and abstractions provided by Phoenix, without having to decrease the maintainability of your application. Moreover, Phoenix is great for building interactive applications, as it provides channels—permanent connections between the clients and the server. Instead of being tied to the traditional request-response model, you can use channels to keep a stateful conversation with your clients, which...