Earlier quoted context omitted.
Phoenix is great because it gives you the same productivity benefits that Rails does, but it doesn't have any of the crazy "magic", which makes it both fast and also easy to understand. When you want to learn about how something works you can pop the hood and read the source code, and it's both well-documented and easy to understand. Elixir is also functional as opposed to object-oriented, which means no leaky abstra…
How much time would you recommend spending with Elixir before moving into a Phoenix app?
Elixir is a fairly deep language, but you don't need to know it inside out to become productive with Phoenix. Obviously it depends on what type of app you want to develop, but you can probably piece together a simple CRUD app just by reading the official Phoenix guides. Everyone has a different style of learning though so it's hard to say beyond that. Ultimately, just like with Rails, knowing the language itself (i.e. Ruby) will be very helpful once you get beyond the basics.
Specifically, there were a few things that took a while for me to fully wrap my mind around. For example, data is immutable, so loops are written differently. Instead of a traditional for loop to loop over a collection, you would instead use recursion. So if you're like me and are used to reaching for a for loop or a while loop to iterate over collections, you'll need a bit of time to get used to some of Elixir's mechanisms.
[1]https://www.amazon.com/Elixir-Action-scaron-Juri-cacute/dp/1...