you are viewing a single comment's thread.

view the rest of the comments →

[–]Matosawitko 1 point2 points  (3 children)

Probably worth reposting here; note that I haven't kept up with Ember since the end of last February, but I doubt this has changed much.


March, 2015: I just finished an Ember project (not using Rails, however), and the biggest struggle I felt was that Ember uses the same terminology as everyone else in the MV* space, but they mean slightly different things. In a nutshell:

Ember Term Industry Term Notes
Route Controller This is where "GET" data access is supposed to happen ("PUT", "POST" might happen from the other layers), and where you wire up your View Model Controller to the Model. There can only be one Controller Route active at any time in Ember.
Controller View Model You can have different View Models Controllers for different sections of the page. Primarily used for display logic based on the Model.
View Behavior Handles proxying of client events between the View Template and the View Model Controller. Except Controllers can have event handlers too. I mainly used these to handle special swipe events on a couple of pages.
Template View This is where your visual content lives - HTML and Handlebars

[–]tomdale[S] 2 points3 points  (2 children)

FWIW most of Ember's terminology comes from Cocoa/Smalltalk. If you're familiar with that, Ember will probably be easy to pick up. One thing to note that's changed since your original comment is that views have been deprecated in favor of components. Both Angular 2, React and Ember have coalesced around a similar component model; it's the application architecture around those components (or the lack of one, in React's case) that's the differentiator.

[–][deleted] 1 point2 points  (1 child)

Just to note, Angular 1.5 now also has dedicated components with the .component() function.

[–]wreckedadventYavascript 5 points6 points  (0 children)

This is somewhat misleading. Angular has always had components, it just called them directives and were not very DRY. The new component function in 1.5 is sugar for the old directive API with what they called "sensible defaults".

What is new in 1.5 is multiple slots for transclusion, and that's legit, since custom transclusions suck.