It’s been a while since we asked this - I’m sure others (especially newcomers to the language) will be interested to hear how you’ve all been learning (or learnt!) Elixir & Phoenix.
Please let us know what worked well for you too!
If you include links, please link to the forum thread for the resource if one exists.
I initially learned it by converting Erlang code to Elixir, then delving into the AST in Macro’s. ^.^;
/me is not a common case as already knew erlang
It was enough for me to read Programming Elixir and be familiar with the syntax. It took me a couple of days to read it through and start developing production ready website. Must note I didn’t discover Elixir through Ruby and I don’t have any experience with it. I was mainly JS developer with some PHP. But I already was into functional programming with JS. At the time I discovered the Elixir and Phoenix framework I was developing a website on Meteor. Thanks to the Meteor community, I found out about the Phoenix framework and Elixir. And I got hooked by Phoenix promises. So I read the afore mentioned book along with Programming Phoenix and in 2 weeks I started to rewrite Meteor project into Phoenix framework. I started with umbrella project right away and I’m very happy with that. I really enjoy working with Elixir.
To add my own account, well, funnily enough, I had actually put my learning on hold for a year… to set the forum up
Now that I’m back into it, I’ve read Programming Elixir (50% of it) then Elixir in Action (all of it) then the remainder of Programming Elixir. Both awesome books and I highly recommend this ‘concurrent’ way of learning (look here and here for my reviews of each and details why I prefer this way of learning).
I’ve now started PragDave’s new online course which I am loving as well. I’ve learnt so much through this course and I’m only 31/86 the way through.
After this I’m not sure whether I will start reading Programming Phoenix (quite possibly if it’s been updated for Phoenix 1.3) or I might get started on my first Phoenix app. It depends how confident I feel after Dave’s course.
I’ve also bought (or will probably get) most of the other books and courses too and hope to go through them at some stage… but I’ll post updates as and when I do (I will probably read them in order of whichever is the most up-to-date at the time).
If you’re looking for free resources you should definitely check out ElixirSchool (self-published) (free)
Currently i’m reading Phoenix Inside Out series written by @shankardevy i’m having really great experience so far for learning phoenix, ecto etc…
apart from that there is one book called “garuda” where you can learn how to build entire web framework from scratch using Cowboy as the only external dependency.
@AstonJ: I started from learning tutorials like that on official pages and
Elixir School page.
Rest could be described in simple steps list:
- Read docs
- Add question/answer to forum
- My own practices
- Back to step 1
Humans are learning whole life in infinite loop.
Now im learning phoenix, first i read programming phoenix with documentation or searching when i didnt understand something. And now to secure the knowledge im doing a blog system(authentication, authorization, images, etc) with the book, documentantion, blogs and search at hand.
Online Elixir tutorial on the Elixir website, followed by the same with Phoenix. Gave me a solid foundation to experiment and tweaked my interest enough to get the Programming Phoenix book.
That book was like crack to an addict for me. Binge read it over about 4 sleep deprived days and haven’t been the same since.
For me, the best way to learn Elixir is by doing something with it. Currently I try to understand macro. I make a library that works heavily with macro. Even though it’s simple, trial and error is what makes me understand about the execution context and scope in macro. All of this can’t be achieve only by reading. By reading, you got the knowledge. By doing, you got the understanding. And that’s what’s important.
I’ve been using Phoenix as a static site generator for a couple of small projects. It’s been a good exercise to learn the nuances of Templates, Routing, Plugs, Controllers, as well as how to integrate Vue and React. When I’m done I simply use httrack to manually create a local mirror copy.
Worked through the following ebooks:
What’s new in Ecto 2.1
The plataformatec blog has some great posts too. ‘Mocks and Explicit Contracts’ is the post I refer everyone to when they start testing elixir.
I read through the Programming Elixir book too. Then I tried my hand at writing an IRC server and a coupon code applicator just to toy around with the language. (These are not exemplary examples of Elixir code at all!)
From there I re-wrote a Rails app into a Phoenix app. I think I toyed around with some other app ideas too but I don’t have those on GitHub.
Then I started a new job where I am using Elixir / Phoenix daily, and that has been by far the best learning experience
Erlang to Elixir. Sounds tough…
But have you done/know something about SNPM in erlang?
I’m currently implementing C node (client) following the Erlang docs so I can run some opencv related processing, there isn’t much material and the fact I’m doing this on Windows makes that worse. But I just got the bare minimum to work today! Learned a few things and probably will write a blog post about this. The best learning experience comes from doing!
Maybe @ijunaidfarooq meant SNMP?
A friend at work snuck some Elixir into our codebase and eventually showed me, and I immediately liked it. That was about 2 months ago, and since then I worked through “Take Off With Elixir”, most of the Elixir School and am about halfway through “Programming Phoenix”, although there are a couple of errors or outdated bits in it. At work I have a Safari books subscription and used it to read the first chapter or so of the Little OTP Book which seems really nice.
Although I don’t feel like I understand enough Phoenix to be useful, it seems like about the right time to jump in and try to make something, which will result in a huge mess and then I’ll figure it out.
Sorry it was SNMP… I just wrote in a rush may be.
I read Part I of Programming Elixir 1.2, of which I probably learned 15% of the material. I then bought the video packs on learnelixir.tv and learnphoenix.tv, both of which helped out enormously (hopefully they will be updated for new versions in the future). Recently, I signed up for Dave Thomas’s Elixir for Programmers course, which is also helping a lot.
I couldn’t agree with this more. I’m hoping to dive in soon, with everything I have learned, and build an application that I have been thinking about.