Santheepkumar

Santheepkumar

I need good guide to learn Elixir

Hi all,

I am a Fullstack JS developer for last 2 years. I need a good guide to learn elixer. Any suggestions please

Most Liked

zakimedina

zakimedina

I have gone down many rabbit holes in the pursuit of becoming an efficient Elixir Developer. Unlike Ruby on Rails, you cant just start with Phoenix with zero Elixir language especially coming from an OOP side. For me, at least I needed a good grounding in Elixir foundations to truly grok Phoenix.

Note: Some folks will say skip OTP. I will say don’t. True you could develop proficiency in Phoenix without OTP, but OTP is the secret sauce (and pattern matching).

If I go back and do it all over again I would suggest this learning path:

  1. Start with the official Elixir documentation (its free and its excellent).

  2. I used Grox.io yearly passport program. I like their content because it’s regularly refreshed. There are a lot of other Elixir resources but I feel they are slightly outdated for my liking. Additionally, Grox.io has a very helpful curated learning path for Elixir and OTP, and finally LiveView (since you are JavaScript expert, you might skip LiveView for now). Start with Elixir and then OTP.

  3. Optional - Leverage the free content from Elixir School to reinforce previously learnt Elixir and OTP concepts from time to time.

  4. Now let’s learn Phoenix. Again, I would suggest start with the official free Phoenix documentation.

  5. If you like to build an end-to-end Phoenix app then check out this Full stack Pragmatic Studio course where you use Phoenix and React over GraphQL to build a marketplace app.

This will give you a good grounding in Elixir and its web Framework Phoenix. You can then branch off into other areas like IoT (Nerves), Database (Ecto), and Frontend (LiveView) as needed.

The final step is of course to build your own toy apps, side projects and practice what you have learnt. If you can introduce Elixir at work even better.

Also almost all Elixir, Phoenix and OTP books are awesome. Here are my personal favorites (I am sure this list will grow as I read through my pile of unread books!)

Elixir & OTP:

Phoenix & Ecto:

I have come to realize Elixir is a gateway drug to Functional programming languages. For my own journey, I am now learning Erlang and Rust.

dimitarvp

dimitarvp

Let’s start with the right syntax: it’s Elixir (“i”, not “e”).

Did you go through the official guides first? They give an excellent base to build on top of.

kokolegorille

kokolegorille

Just to add to previous answers…

You should know there are different steps in your learning.

  • Functional Programming
  • Phoenix
  • Ecto
  • OTP
  • Nerves

etc… Each could be subject to a whole book (or many books)

If You already know FP from JS, it’s easier.
If You want to do web, Phoenix would be like Express
Ecto would be like mongoose
OTP is … not matched in JS, but is the core of concurrent programming
Nerves too is not matched in JS, but is the core of doing embedded devices with the BEAM

crova

crova

And from koko’s list, if you’re not familiar with Functional Programming, leave everything you know on the door while learning. It’ll make your life easier to come without assumptions of any kind.

Sebb

Sebb

Welcome!

If you like video courses, you are in luck, there are (at least) two exceptionally good ones for Elixir:

Beginner books I would recommend:

Also I would recommend the Elixir track here

The official documentation of Elixir (guide and at hexdocs) and the “big” libraries (Ecto, Phoenix) is very good.

You can geht help here or in the Elixir slack channel.

Where Next?

Popular in Chat/Questions Top

meraj_enigma
Hey, What’s a good resource to learn Microservices in Elixir/Phoenix? Is there any book/docs/Github repos that I can refer to? Thanks, -M
New
satoru
I’m working on the “Bob” exercise on the Elixir Track in Exercism. I am testing for uppercase letter with this simple check: c in ?A..?Z...
New
LegitStack
I’m not a hugely experienced programmer, just a few years. So I’m looking for resources to learn about a topic but I can’t seem to find m...
New
Yoga
Or at least, in the works? All I can find are bits and pieces but not a single project from start to finish. Including things like i18n,...
New
dopomecana
The title of this topic may sound silly at the first glance. But why I trying to ask you guys is how to go to the next level? I am curre...
New
ggwc82
Looking to get started with FP and Elixir coming mainly from an OOP Rails and PHP background. My first question is, whats the best cours...
New
ericdouglas
I think that would be really interesting to have official books created by the community about all kinds of development we can do with El...
New
pillaiindu
I am a VSCode and Sublime user and I know VIM, though I don't use VIM directly but whenever I code inside Sublime or VSCode, I use Vim em...
New
Sujit
Hi Team From the title, I am entirely new to programming and i am interested in learning elixir but not sure where to start. Can someone...
New
AstonJ
It finally feels like I’ve got some time to catch up on my reading - though I am sure lots of people will be wondering the same: what are...
New

Other popular topics Top

chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New

We're in Beta

About us Mission Statement