Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Looking for the best Phoenix/Elixir/Erlang Tutorials
95 points by patientplatypus on May 6, 2017 | hide | past | web | favorite | 26 comments

I am just starting out in web development and am looking for any tutorials on Phoenix/Elixir/Erlang. I am not familiar enough in the language to a) know if a tutorial will actually compile (I have had issues with this in the past) and b) how recent the tutorial needs to be given the latest updates to the language builds. Any and all tutorials where I can build an actual thing would be very useful to me as would resources such as "this in x minutes" that gives snippets of code that do something. I find large documentation sources good for exploring ideas later, but at first I need to get to compile something, if for nothing else than my own sanity.

Thank you in advance for your help :D

Elixir School is an excellent start[1] How I Start with Jose Valim is good[2]. And you should come to our form[3].




The series of articles "Writing a Blog Engine in Phoenix and Elixir" [1] can be quite fast-paced at times, but in the end (and far before that, too) you'll have a blog platform that you can use and you'll understand how some of the different Phoenix & Elixir pieces fit together.

For a more thorough experience, however, I would absolutely recommend you to have a look at the books the Elixir community has produced. As you're specifically asking for tutorials (and not other sources for learning), my best recommendation would be Programming Phoenix [2], a book written by the creators of Elixir and Phoenix.

The book is structured so that most of it is focused on building one specific web application, so you can follow along from start to finish and build something far more interesting than just a run-of-the-mill blog (and learn a lot about Elixir and Phoenix in the progress).

[1] https://hackernoon.com/introduction-fe138ac6079d [2] https://pragprog.com/book/phoenix/programming-phoenix

I too recommend the the "Programming Phoenix" book, really well written and informative book.

I totally love Phoenix and and Elixir, I wish I were able to work with it more! Good luck and enjoy :)

I'm currently enjoying this Udemy course: https://www.udemy.com/the-complete-elixir-and-phoenix-bootca... (most of the time you can get it at a huge discount: $10US)

I have the Phoenix PragProg book but I found the tutorial more informative for beginners.

Definitely a great course.

I took it and recommend it too.

You should ask https://www.reddit.com/r/elixir/ It's a quiet but nice subbreddit.

Plataformatec puts out a newsletter called the elixir radar. Check it out here:



This course is free, recent and take you from beginning to the end.

Here is a compiled list of resources for erlang: https://www.tutorack.com/search?subject=erlang and for elixir: https://www.tutorack.com/search?subject=elixir .

Disclaimer - I work at the above service

> I am just starting out in web development and am looking for any tutorials on Phoenix/Elixir/Erlang.

While I like Elixir a lot, I'm not sure that it's the best place to start. I'd find an ecosystem that is more stable and has more reliable resources available. Try starting with Rails or Django, maybe.

So its just that the ecosystem that is weaker compared to Rails? When would be a good point to learn Phoenix after having say gone down the road learning Rails.

I don't actually agree that the ecosystem is weaker than Rails. There may be fewer hex packages than Ruby gems, but after 10 years worth of doing my own Rails work and cleaning up other people's messes, I can safely say that most of the gems in the ecosystem are antithetical to well-designed modular software.

Bottom line, learning to write software well is hard, no matter what language you're in. What is probably weaker in the Elixir sphere is the amount of blog posts that go deeper than "Yay elixir", but there are some really high-quality books that are a good subsitute. Here's the order I usually recommend for new Elixirians:

1) Dave Thomas' Programming Elixir 2) Sasa Juric (http://theerlangelist.com/) Elixir in Action (blog is also great) 3) Programming Phoenix (Jose Valim, Chris McCord, Bruce Tate) 4) Lance Halvorsen's Functional Web Development with Elixir, OTP, and Phoenix should probably be in there somewhere but I'm not sure where, as I haven't had a chance to read it yet. 5) Designing for Scalability with Erlang and OTP is a good followup when you're comfortable with the syntax and concepts from OTP

[1] https://pragprog.com/book/elixir13/programming-elixir-1-3

[2] https://www.manning.com/books/elixir-in-action?a_aid=sjuric

[3] https://pragprog.com/book/phoenix/programming-phoenix

[4] https://pragprog.com/book/lhelph/functional-web-development-...

[5] http://shop.oreilly.com/product/0636920024149.do

This isn't a tutorial, it's a starter kit, and I'd like to see it grow and help people with elixir/phoenix:


There is a good resource on github (Awesome Elixir), here is the link to the tutorials/books section


This video course is just released, with early access pricing:


I would echo other comments suggesting you start by learning Rails, but if you really want to learn Elixir/Phoenix first I would probably start by playing with Elixir, since Phoenix obscures a lot of things (similar to Ruby/Rails).

Here's a video which sweeps through some basics: https://www.youtube.com/watch?v=pBNOavRoNL0

Can you provide an example please of these obscured things in Phoenix? Don't want to sound harsh, just learning Phoenix as well.

They probably mean all the `using` macros, which can obscure where functions are coming from, and make it hard to get a grip on which functions are available in a given scope.

Having said that, Phoenix is nowhere near as 'magical' as rails.

Agreed. I found it confusing at first but once I understood that these things are laid out in web.ex it was quite easy to follow the chain to the original functions. I was also confused by where the helper functions came from, but when I realized that some of them are generated automatically from route definitions at complile time, things became clearer.

im also interested in picking up elixir/phoenix but lately crystal lang have got me even more intrigued.

what sold me was the fact crystal was compatible with most ruby gems.

curious to hear, what do you guys think of crystal?

my 2c, i'm not really all that interested in a faster OO language. If I wanted that I'd move to Java, C#, or C++. Crystal is pretty close to Ruby, sure, but the devil is in the details, and I suspect that digging into gem compability is a bigger mess than it would seem at first glance.

Go learn Rails or JavaScript first. Lots more resources, examples, and people to code with. Also, learning two languages, a web framework that is different from most, and OTP is a bit too much.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact