Status: [IN PROGRESS] Just getting started ... Last Update: September 2, 2016 Product URL: LearnPhoenix.io Price: $29 monthly Perspective at review time: Phoenix Beginner
This is one service I'm glad to be able to review. Over at the Elixir Forums there was a thread about LearnPhoenix.io and how "pricey" it was. It seemed like the discussion was split into four camps:
- For $29, I could get [insert leet stuff here].
- I think this is just what I need.
- I want this, but not at the current price.
- Any combo of above three and "but it's only text."
The creator of the service, Sam, chimed in to defend his service and ended up offering a handful of free first month passes for those who wanted to check it out. I was one of the people who got a pass and thus I am able to give you this review.
Going into this review I have some serious questions:
- Am I ok with the training not including any video?
- How complete is the training?
- How "production-ready" is the app we're building for training? It's not too crucial, but I find my version (enterprise level) is well off from the usual usage, which basically just means someone could use the thing.
- I'm coming in as a newer Elixir developer and know nothing about Phoenix, so will this training be deep diving or more of a "put this here and there and magic and done" training? At the price point, I expect deep diving.
- Is there a completed app on Github, BitBucket or elsewhere that I can grab to compare/learn/etc?
I'll start with an aside. The main site appears to still be under construction, so you'll have to look past some of that (missing FAQs, missing About, etc).
Once you get logged in, you'll see a list of lessons. At the time of this initial writing, there were 50 of 60 completed. Here's a screen of the first 10 lessons.
As I write this, I'm swapping windows and reading the introduction lesson. It's laid out nicely, but if you're a grammar guru, the writing will trip you up here and there. Additionally, I'm trying to click on some of the external links the site provides and they are coded incorrectly and thus don't work (many links work fine though). At this price point, I'm going to be slightly difficult in my review as I expect buttery operation and that's the only reason why I'm bringing this up. It's easy enough to just remove "learnphoenix.io" from the url and go to the proper place.
I like how the site lets you know that this course isn't for someone who hasn't coded before and it gives many links to good sources of learning.
Direct quote from LearnPhoenix.io about prerequisites This is not an intro-level tutorial. We will not cover the basics of programming. You do not need to be an expert, but you should at least know what a function is and generally how to use them in at least one language. You should also know what a library (Lodash, Bootstrap, etc) is and have at least some idea of how to use one.
The initial lessons (1-9) focus on setting up React on the frontend. The style of teaching is basically a paint-by-numbers, which is good if you just want to get something setup and learn the general process. If you're interested in React/Webpack/etc and want to understand what's really going on, you'll need to deep dive on your own.
For the most part I sped through this section since I've been developing with React/etc for over a year at the time of this writing. Overall, I think the frontend setup is fine. If this was a course about frontend development and something for e-commerce production on a larger scale, I'd critique it more (as there are things that would need to be fixed).
One nice thing is the site owner separated things out so I feel it's going to be simple to swap out React for Elem or Angular (shudders) or whatever you want.
I did like how the tutorial sets up bundling, testing and reporting. It also provides many links to the appropriate things, so you can easily go learn about each item (Enzyme, Webpack, NYC, etc).
After running through the setups, the React frontend worked just fine. If you're a dev with frontend experience, plan on spending maybe an hour going through the handful of lessons to set things up (since it's mainly just copy/paste). And if you're not a frontend dev, expect up to many hours as you read through all the lessons.
From here, the lessons start touching on Elixir with React work peppered in as needed (Redux/etc).
Lesson 10 and forward is where you start getting exposed to some Elixir basics. It's more of a high flyover than anything else, which is fine because the site did say you should know some basics.
Given that Elixir is the core/base of what you're trying to do, I recommend you know some basics already or you learn those basics elsewhere. All of this will make more sense.
That said, it looks like LearnPhoenix.io will hand-hold you to get you through.
I'm not deducting points for Elixir training (best practices, etc). The site is about learning Phoenix and one should be expected to care enough to learn Elixir properly verses hack-n-slashing your way to setting up something. So I don't care if the site is using IF statements galore as you would in another language (bad practice in Elixir). My judgements are based on Phoenix training, general presentation, errors or lack thereof, depth and knowledge advancement.
For this course, you will be setting up a JSON API in Phoenix. Since the project is using Mix, it's probably a good idea to read up on that a little.
I'm going through the course now and hope to be at a good review point in the coming 2-3 days. Check back for more updates as I get through reviews.