I have just read the book Programming Phoenix: Productive |> Reliable |> Fast. Wow, first because of the framework, I think it’s a very good framework. But I dare you to find out for yourselves, we are talking about the book here :).
The book is a joy to read.
It’s split in two parts with a good introduction on why Phoenix is different. Basically, Phoenix is about fast, concurrent, beautiful, interactive, and reliable applications. Which I agree, but you must know that this is a book written by Phoenix’s creator and Elixir’s creator, so please understand their “sometimes” excessive self praise.
The first part of the book will explain the basic layers of phoenix framework, but also Ecto and testing MVC. For those of you who don’t know, Ecto is the database wrapper and LINQ for Elixir. One of the phrases I most enjoy about Testing is on this book: If your code is worth writing, it’s worth testing.
The second part of the book, I think it may not be easy to follow for beginners. It highlights the advantages of Elixir, as GenServer and how it communicates seamlessly with OTP APIs. It also explains another core feature of phoenix, channels. Channels allow you to keep your clients connected and communicate with them in realtime. Together with Elixir/OTP is a very stable and reliable process.
I think the app we are building along the way is very interesting, which helps you to keep the engagement with the book. Try and see for yourself. You may create something cool.