Every time I try explaining Ember’s routing mechanism, I hear confusion regarding this.route("..")
vs. Ember.Route
. Every time I explain that Ember.Route
is more of a route handler, while this.route
is the name and URL of the actual route. Has anyone else encountered this confusion? Would it make sense (when semver says its okay) to rename Ember.Route
to Ember.RouteHandler
to make this difference more obvious?
I find the current naming confusing too…RouteHandler might be verbose but does make more sense to me.
When initially jumping into Ember, I struggled with this as well. A simple “Handler” appended to the name makes all the difference
I like this a lot as well. Thanks for proposing this @joefiorini
That or rename it to Ember.goTo
I don’t share this confusion whatsoever but definitely curious to continue hearing first impressions from people learning Ember.
Then we might as well have the View relabelled to ViewHandler as it doesn’t really “represent” the view but mostly just “handles” interactions on the view?? I think Route is fine as long as we don’t represent the Route itself as an entity and the handling as another entity. From another discussion, I suggested adding the entity Resource to represent a Router resource and allowing for proper nested resources using a Composite builder pattern. Would be way more powerful and logical IMO.
On this note, I also think that it would be useful to create a real Route entity to hold the Route information (name, path etc.) and then have a RouteHandler handle the particulars of how the routing info (params etc.) are handled and “translated” to execute Ember routing cycle… rather than these new entities adding to complexity, I think it would rather clear up some confusion (adhering to Single Responsibility Pattern) and in turn make the framework more flexible down the road. What d’ya think?