I have $150, which courses/books may I buy to learn Phoenix?

Hi Everyone,

I am a student and know basics of web development, used some php and ruby, but I am not an expert in any. I want to learn Elixir and Phoenix.
I have $150 in my account. Which courses/books should I buy?

At one hand there is Elixir, Elm, and Unpacked Bingo Bundle by Pragmatic Studio which will teach me Elm also together with Elixir, but I am afraid if Elm will be as easy as Elixir or harder. This bundle will come at $110 using the elixirforum coupon, and I can also buy some book also together with it with the money left. But I am not sure if I buy only the Phoenix course from Pragmatic Studio and then buy other Elixir and Phoenix stuff, and polish my vanilla-javascript at edx/freecodecamp etc, and use the money left for buying other elixir/phoenix books.

Is Elm as easy as Elixir? Will this bundle (of 3 courses) make me produtive enough to create a some real web application in Elixir and Elm?

There is also a course Elixir for programmers by Dave Thomas, some nice books from Manning, Oā€™reilly and Pragmatic Bookshelf, but my money is limited and I canā€™t buy all of these things, furthermore I donā€™t know which book is how much beginner or intermediate friendly, and which book is only for experts (which I will know only after reading those books). I wanna buy something which make me productive in least time.

Please guide me.

Thank you!

I cannot help you much with any good advice on Elm, but regarding Elixir, the best bet for your money are the following options:

I really recommend buying both, read first the book and then watch the course, the latter will help you to think in Elixir.

Additionally, the 2nd version of Sasaā€™s book, Elixir in Action is also great.

As an additional advice, save the rest of your money if they are limited to buy Programming Phoenix ā‰„ 1.4 and Programming Ecto when they will be released.

Regarding, Elm, Programming Elm seems an interesting option, I highly value the quality of The Pragmatic Bookshelf.

9 Likes

I have currently done and highly recommend the following:

And Iā€™ve just started:

Havenā€™t read enough of it to recommend it is read before/after the others yet though.

Do you want to make a single page app? If not you may not need to learn Elm.

With regards to Phoenix, youā€™ll almost certainly want to read:

(I havenā€™t read it myself yet)

4 Likes

If not you may not need to learn Elm.

Elm is a good learning experience - BUT on a constrained budget I wouldnā€™t be able justify committing any funds to it as I suspect not that many places are going to be inclined to adopt it (unless you have a direct line to the CTO).

4 Likes

Start with your universities library and ask if they can provide eaccess to books. My universities library was very flexible and if they hadnā€™t something in its printed version they asked 2 other universities in near area (less than 1h by public transport) for a lent, or if the student accepted they organized an electronic version from some umbrella library.

If this is possible at your place you can safe a lot of money!

To be honest, I resist to buy anything about IT or CS unless I get free access to an electronic version plus upgrade guaranteesā€¦

Of course Iā€™m fine with renting books as well.

8 Likes

There is also Phoenix inside out, and I heard good things about it. What if I buy only that (4 books). Will it make me able to create Phoenix applications?

2 Likes

Basically Iā€™m learning Elixir and Phoenix to create applications for myself. For a while Iā€™m not thinking to apply for some job. Iā€™m only concerned that learning Elm will be quicker (and/or more beneficial) than polishing my vanilla JavaScript skills, or learning vue.js?

1 Like

I would definitely add to the mix ā€œMetaprogramming Elixirā€. I donā€™t know if there are any other resources covering metaprogramming in elixir apart from various blog posts. I havenā€™t taken any video curses so I donā€™t know if it is covered in any.

Metaprogramming seems to be used a lot in elixir.

1 Like

Donā€™t Write Macros But Do Learn How They Work
:grin:

Elm certainly has a better developer experience - but in my estimation you will always need good JavaScript skills even if you use Elm (or should I say because you are using Elm and eventually you will want to use some JavaScript library you canā€™t live without) - itā€™s fashionable to hate JavaScript but itā€™s useful to learn to live with it somehow - like using it JavaScript AllongĆ©, the ā€œSixā€ Edition style.

Vue.jsā€™s popularity is on the rise and I would describe it as cleaned up React/Mobx for Angular refugees - though lately Iā€™ve been wondering whether marko.js is going to end up eating into the Vue.js fanbase.

But the question remains - do you really need an SPA?

3 Likes

So if the app is not a SPA, neither ELM is needed nor Vue?

1 Like

Technically either can be used in just part of the page - as a ā€œcomponentā€. But usually that is only done with the intent to later migrate to a fulblown SPA. But the are always exceptions.

2 Likes

For building SPAs you might actually find learning Vue.js and polishing your vanilla javascript along the way to be be a quicker route to good results. If you take this path, look at Quasar too. Both have good documentation and code examples. Quasar has a neat set of UI components that work on desktops, tablets and mobile devices. So then you can spend your money on Elixir books.

2 Likes

This is a sensitive topic but I believe using a Javascript framework (or Elm) is definitely not needed when building many (or even most of) web apps. Some javascript ā€œsprinklesā€ are usually used for nice form validation UX (Phoenix provides some) or cool in-app navigation UX (you may check out Turbolinks or Unpoly.js some day). JS frameworks can be helpful when a feature needs a lot of user interaction, or when you clearly need to build a SPA. But building SPAs adds a lot of potential complexity and can be hard to get right.

Anyway, thereā€™s a lot you can do with just Phoenix (and a lot to learn) so Iā€™d start with just that :wink:

Javascript-heavy websites (and web-apps, but I mostly use websites that are unnecessarily overcomplicated and overengineered with javascript) often break for me and then I get sad and whine about it on twitter.

3 Likes

Do I need to buy both Programming Elixir ā‰„ 1.6 and Elixir for Programmers or only one of these will work?

1 Like

Get both - they cover different things :023:

3 Likes

Is there any discount on Pragmatic Bookshelf books currently?

1 Like

Yes, go to our books section, find the book you want and look in the first post :023:

2 Likes

If your final target is learning Phoenix, then Iā€™ll highly recommend learning Elixir from any free resources (there are many), and afterwards Phoenix inside out series by Shankar Dhanasekaran (@shankardevy).

2 Likes