Best read for learning Ember

I know a lot of jQuery and general html5 (and Processing/p5.js)

Had a kind of allergic reaction to angular. Just did not seem to have a great complexity/power ratio

best recommendations for learning ember, book and/or course?

I just finished “Deliver Audacious Web Apps with Ember 2” from pragprog.com and really liked it.

And “ember-cli 101” that is really good as well.

1 Like

I can highly recommend this course: https://www.ludu.co/course/ember

1 Like

If you are looking for a free resource, check out my blog Ember Igniter where I strive to keep guides (really) updated and help out people who are learning Ember.

Otherwise “Ember CLI 101” is a good book!

2 Likes

@kirkjerk, what did you come away with as the best book for Ember? I’ve been struggling finding anything worth reading that isn’t seriously out of date and assumes an intermediate/expert level of Ember knowledge as a pre-requisite.

Probably the most helpful thing I’ve found so far is an excellent video by Ryan LaBouve (TodoMVC in EmberCLI - YouTube) that uses cli and he builds the TodoMVC app going through each part in just enough detail. This thing is so helpful I’ve noted specific topics covered and at which point in the video. I refer back to it fairly often.

I’m REALLY trying to keep my tone neutral and helpful, I know there are users here that are very touchy about appearing to criticize this powerful framework that’s supremely difficult to get started with. That being said, good luck, you’re going to need it. We all will…

@Justsomeguy Haha I get what you mean. I cursed Ember many many times when starting out. Like, “fine it’s free, but why the f*** are these people even promoting this…”. There’s a topic “Why I’m leaving Ember” where lots of people are venting their frustration.

Ember 2.x is headed in the right direction, significantly improving the power/complexity ratio. Ember Data is much much better now, too.

Have you read my blog, by any chance? I’m trying to lower the barrier for developers to get productive with Ember. I would be VERY interested in knowing if you find those articles difficult to understand.

In particular, what aspects of Ember do you find confusing? Which parts of that video by Ryan LaBouve do you often refer back to?

@emberigniter, I am really looking forward to going through your blog. Seriously, you had me at “Turns out it was the perfect answer – a year ago!”, I find MANY posts from the winter of 2013 (pre-cli of course), it’s kind of jarring. I’m going to start working through your content today, I really hope it shines a light on those dark corners of Ember.

What parts do I find confusing? For the last few days I’ve been struggling with child records that calculate values, then those values are used by the parent in totaling an order (doing a simple point-of-sale demo). Assumed that I wanted to have a controller for each child item. That video I mentioned uses an {{#each}} statement that passes an itemController parameter to use for each child. I can’t get that to work though and I’ve read a few posts saying that itemController doesn’t work anymore (!) and all the cool kids are using components. I struggled with trying the component approach for a few hours but gave up. Static values are OK, but I cannot have a function attached to a property in the component. Not smart enough yet I guess.

I finally got it working this morning by using @each in the property def for the parent’s total. In the parent’s total property I’m recalculating every line whenever its quantity or cost changes. Not sure if I can refactor it, but at this point I’m loving the small victories, I ain’t complaining!

BTW, I’d show you my code in a JSBin, but damn, I can’t get it to work. I’ve read about lots of JSBins that are broken and won’t work anymore. :expressionless:

For that LaBouve video, I refer back to the various points depending on what I’m trying to accomplish in my own demo. The video is over 1 hour long, I have 15 or 16 notes like “34:40 - wiring label with double-click event” or “1:02:48 - Fixture to LocalStorage adapter changeout.” I assume that I’ll be able to stop going back to that video in time, I’m a little nervous about when I need to do something that he doesn’t cover in the video. I’m tempted to ask him for his phone number, I’m sure he won’t mind.

Thanks!

1 Like

Okay, of course we the cool kids are using components =)

Seriously though, forget about controllers. It is an archaic concept (in my opinion) that should be long gone. Some seasoned developers still say they are useful, but the amount of confusion they add given their real use… is not a good tradeoff. Anyway, this: http://emberigniter.com/should-we-use-controllers-ember-2.0/

Something that might help with your particular app is this:

Re: JSBin… better use Ember Twiddle

If you want to take a look at my blog, I’d recommend starting here and read the posts related to components. There are 4 or 5 so far.

I read Rock and Roll with Ember and found it super useful and up to date:

dockyard blog is one of the best resources I’ve seen out there. It provides concrete examples, up to date with very good recommendations of best practices.

1 Like

Ember-cli 101 is now free so there is no excuse for not reading that :smile:

I worked through Rock & Roll with Ember but found the style wasn’t quite as easy to follow, it’s pretty good but the flow isn’t quite as good.

Once you are feeling a bit comfortable with Ember I can strongly recommend emberscreencasts as a good way to dig into topics in a bit more detail.

I ended up mostly using the ludu course. It was a little odd because it was POD vs the usual MVC (and I ended up thinking having every file named the same in POD was a bit annoying) but overall was quite good.

Sadly, the greenfield project we were on got canned and to integrate better with the company we’ll probably moving to Angular. (Blargh). I wrote this Blog entry about Ember vs Angular: Kirk's UI Dev Blog: ember vs angular Kirk's UI Dev Blog: "I've yet to write a line of javascript code!" also has some slightly anti-angular ramblings.