What books/courses should I take to learn Phoenix as a newbie?

That’s a tough one - but I would assume that in dealing with PHP you would have had to develop some “automation skills”.

On the book front I’d point you first to Learn Functional Programming with Elixir (Pragprog) (⟶forum discount).

No previous functional programming or Elixir experience is required. Some experience with any programming language is recommended.

After that you should probably move to Elixir in Action 2e or Programming Elixir (Pragprog) (Elixir in Action can be a bit more challenging/fast paced).

Now when it comes to Phoenix, you have to realize that there are a lot of technologies coming together. Programming Phoenix (Pragprog) is a great primer - i.e. you get your first guided tour of building something and the online documentation will make a lot more sense afterward.

That being said Phoenix itself is largely about the back end and it has less of an opinion about the front end. Even on the back end persistent storage management is delegated to Ecto (Programming Ecto (Pragprog)) and there it helps to have SQL skills (--no-ecto opts out of Ecto).

On the front end you have EEx templates (--no-html to opt out) so you are still responsible for bringing raw HTML/CSS skills to the table.

Then there are Phoenix features that require JavaScript in the browser which are supported via modular JavaScript (Modern JavaScript Explained For Dinosaurs) (--no-webpack to opt out), so one to some degree has to deal with JavaScript and it’s (npm/Node.js) ecosystem.

So as far as “web development with Phoenix” goes you may have a bit of road ahead of you.

6 Likes