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.
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).
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ā¦
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?
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?
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.
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?
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.
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.
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
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.
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).