Could someone take a minute to explain the basic concepts of EmberJS to me?


I’m determined to learn and understand EmberJS.

I come from a background of building sites in PHP with Symfony2 and serving static pages with the odd part of AJAX enhanced frontend where required.

I’ve been through all the guides on, watched the screencast of building an application that was uploaded a month or two ago and read various other tutorials online. I can muddle through some very (very, very) basic applications but feel I lack proper understanding to tackle anything more serious.

I think I may just be getting confused with some of the naming conventions or something, but reading through the Ember guides, we have models, views, controllers and templates. Views aren’t what the name would suggest (templates are what I would have called a ‘view’, working in a lot of other frameworks?). Views are actually used to bind events to controller functions? And if that’s the case, what is {{action}} for? Or is that an implementation of a view?

Routers appear to be for more than just ‘routing’ a URL to a controller, but it’s confusing to me from the documentation when a router should be doing something and when the controller should.

Plus, again, just from reading the Ember guides, it looks as if you can only bind one model to a controller? How would that work? What if I have a page that needs to access lots of models?

Usually I’m pretty good at picking up new technologies but things don’t seem to be clicking with me in Ember quite yet.

Are there any other resources I could checkout that are more thorough/rich in examples for learning about Ember?


Hi Chrisb,

just a quick reply with some stuff that I found useful:

this book (still a WIP) is a great way to start

emberwatch is probably the best collection of resources (talks, tutorials, screencasts, example apps)

also, peepcode released a great screencast a while ago

finally the whole EmberCamp (the first ember.js conference) has been recorded.

Speaking about example apps, the forum you’re using right now is an open source application named Discourse and you can poke at the source on github!

Hope you’ll find this stuff useful!


Thanks @ghedamat, all that info is very much appreciated. :smile: I actually found out about Ember through Discourse, so the project is familiar to me but the source is still a bit overwhelming for me.

I’ll definitely check out the other resources you linked me to though, thanks again.


The peepcode screencast mentioned above does a nice job of explaining the concepts whilst building an app. However, the guides have detailed documentation on each “component” of Ember. Both will definitely go a long way for you.


Bought and watching the Peepcode screencast at the moment, seems like just what I’ve been needing so far. Also watched a couple more talks on Ember I found on emberwatch. Will revisit the Ember guides when I’ve finished the Peepcode screencast and hopefully more will click into place. :slight_smile: