zervis

zervis

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

Hello,

I’m about to dive into web development. I was thinking about Laravel or Ruby on Rails, but then I found Phoenix.
Do you recommend this learning path straight into Elixir/Phoenix without previous experience?

What books/courses should I take as a newbie?

Thanks!

Most Liked

peerreynders

peerreynders

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.

dwahyudi

dwahyudi

You probably needs to learn about Elixir first.

There are plenty of them.

After a while, take some exercises. Exercism for example.

For Phoenix

malloryerik

malloryerik

There’s a book to help people learn Elixir as a first programming language.

After that, continuing on the Elixir path, there’s a full book that you’d likely be ready for titled Learn Functional Programming with Elixir put out by Pragmatic Programmers, the leading publisher for Elixir.

In this book you learn the basics of Elixir and write a basic dungeon text adventure game.
You could do it along with ElixirSchool, Exercism and so on as @dwahyudi mentioned.

peerreynders

peerreynders

Look, if this is about “short term return on investment” - look at your local job boards. I strongly suspect of the options that you have mentioned Laravel will come out on top. PHP absolutely dominates the current global market.

I suspect that RoR has peaked and some would even go so far to say that it is in decline. And to assume that Phoenix is going to simply take over for RoR would be naive at best. Back in 2005 RoR didn’t have to deal with the existance of AWS/Azure/Google Cloud Platform.

But you have to decide for yourself if you could work with RoR/Laravel day-in/day-out because they are “frameworks to the core”. Basically they have been optimized to produce a certain type of product in a productive manner. Now while that sounds all very positive the skills you acquire while working with these frameworks are mostly related to way the framework is organized.

While having in-depth knowledge of any particular “sub technology” that is part of the framework should be beneficial, the cultures behind these tools don’t necessarily foster that type of skills development.

There are people who never learned JavaScript properly while using JQuery, similarly some people use RoR without developing Ruby competency and to a certain degree the same thing seems to be happening in the JavaScript ecosystem (if I can do it with JavaScipt I don’t have to understand CSS … etc.) I’m not sure how the situation is when it comes to PHP frameworks and core HTML/CSS/JavaScript skills.

What I’m trying to say is that something like Phoenix (which is still a framework) is much less opinionated and therefore encourages you to invest in more core, transferrable skills (HTML/CSS/JavaScript/SQL) that can be leveraged elsewhere later if necessary.

So if this is about web development - focus on the core skills: HTML/CSS/JavaScript (and for the backend SQL is always helpful even in a NotNecessarilySQL world) - no shortcuts.

peerreynders

peerreynders

All things considered it may still be worth while to use Learn Functional Programming with Elixir (Pragprog) as your introduction to programming (especially before JavaScript) regardless of whether you continue all the way to Phoenix. It’ll likely set you up much better for anything else in the future.

It’s a tragedy how many people seem to get started with Python or JavaScript and then get stuck there (one of my rants).

Where Next?

Popular in Chat/Questions Top

InkFlo
Hi everyone, This year I’m graduated from Bachelor Degree (in computer science) from France (not really a bachelor, the exact term is “L...
New
pdgonzalez872
Hi! In my quest of becoming the best Elixir dev I can be, I saw one aspect in my career that I’d like to improve upon. This is language...
New
Iex.new
Hello!, I just started this week to discover Elixir. I’m a PHP-Programmer and did some sutff in Go too. The more I read about Elixir t...
New
miguelsrrobo
hi i was wondering if it is necessary to learn erlang to learn elixir
New
pietrofxq
I’ve bought the following books: Programming Elixir 1.6 Programming Phoenix 1.4 Programming Ecto Functional Web Development with Elixir...
New
wolfiton
Hi everyone, How can i retrieve the name from a structure like this? %{"id" => "1570", "name" => "Croque Monsieur"} My test loo...
New
Fl4m3Ph03n1x
I am doing some exercises while learning Elixir using Exercism.io. Now, my objective is to do all exercises, extras included. This shoul...
New
woohaaha
I’m coming from Ruby and Rails. I have read some Elixir and Phoenix books. They shed a lot of light about building applications in Elixir...
New
zervis
Hello, I’m about to dive into web development. I was thinking about Laravel or Ruby on Rails, but then I found Phoenix. Do you recommen...
New
pdgonzalez872
Do we have a list of academic/research papers: about Elixir/Erlang? that use Elixir/Erlang? about the Beam? If so, could you please po...
New

Other popular topics Top

freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
sacepums
Hey guys. I'm new to elixir and im really stocked about it. But I ran into a bit of problem - I need to convert a date sting, for examp...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement