I just got it a few days ago and I'm about 30% into the first book. What I can say so far is that the author's approach resonates really well with me. Going through the book feels like sitting next to a colleague, who is introducing you to Phoenix and is really knowledgeable in the topic. The book is full of interesting tidbits and explanations about Phoenix internals without getting in the way. I also appreciate the TDD approach including both acceptance and unit testing. The most important thing for me though, is how Shankar condensed teaching Elixir into a single chapter. I have previously tried to study Elixir a few times with the intention of eventually getting into Phoenix but I always got overwhelmed by the OTP material. I didn't want to make the mistake of trying to learn Rails before being comfortable with Ruby again so I put off on learning Phoenix altogether. What Shankar has done is to dedicate one chapter to teach just enough Elixir for you to get started. This was perfect for what I needed and it was reassuring knowing exactly how much (or little) Elixir you need to know before diving into Phoenix.
If you have previous experience in another MVC framework and are interested in Phoenix I highly recommend this series (at least based on what I've read so far).
I should note that the current version of the book is targeting Phoenix v1.3.0-rc.2. Although Shankar has already made an announcement with the intention to update the book soon after the officially 1.3.0 release.
Do you need Elixir experiences too?
I've done MVC and have some functional experiences.
I've seen this book but wasn't sure if it was for me and decided to do exercism's elixir exercises before buying this book.
thanks
It's a strange way to sell a book, when neither the web site selling the book nor googling seem to enlighten me.
Garuda, I'm sure after googling you found the Wikipedia entry for it. It is just a play on words since Garuda, like Phoenix, is a type of mythical bird.
I agree with you, I could have explained the book's content and its title a bit more clearer on my website. I will do it sometime soon.
You build you a simple HTTP server using Elixir and learn a lot of the core language and architecture choices when writing Elixir code. It doesn't pester you with this is an int, this is a string. You just start building this HTTP server out and learn about Elixir along the way.
[1] https://www.amazon.com/Programming-Phoenix-1-3-Productive-Re...
Some of the elixir bits are now out of date. (eg. it still has a section on Records)
But it touched on a lot of OTP topics that were missing from other places.
(this was before Benjamin Tan's book was finished)
At the time I remember Elixir in Action really made me finally understand the OTP concepts.
For comparison, though, Dave Thomas' "Programming Elixir" doesn't even mention them.
- Programming Phoenix by Chris McCord, Bruce Tate, and José Valim [1]
- The Little Elixir & OTP Guidebook by Benjamin Tan Wei Hao [2]
- Elixir in Action by Saša Jurić [3]
Phoenix initially attracted me to Elixir, I've stuck around for that and the OTP platform: pattern matching, process based concurrency (actor model), supervision, immutability, macros, and more.
"Elixir took the Erlang virtual machine, BEAM, and put a sensible face on it. It gives you all the power of Erlang plus a powerful macro system." – Dave Thomas
[1] https://startlearningelixir.com/r/programming-phoenix
[2] https://startlearningelixir.com/r/the-little-elixir-and-otp-...
[3] https://startlearningelixir.com/r/elixir-in-action