Hi, first off, Ember is a great framework!
I’m no master on the source code of Ember, but it would seem Ember has gone through a process of not only improvement but simplification since ember v1.10. (deprecating concepts such as ArrayController, ObjectController etc… in favor of just Controller and much more).
It would seem to me that it can take a step further, since Components have become even more of a central theme, Components can also replace Controllers. One of the differences I’m seeing (and again, I have not looked extensively into the source code but rather implementation based
) is that Components would have to be routeable with the ability to pass a model/s into the target/routeable Component. Hence, a Component oriented approach.
I can see other major improvements that can be taken from this sort of implementation, but I will leave it at this to take any feedback.
Good news - routable components is already a thing. Try it here: https://github.com/mdehoog/ember-routable-components-shim
1 Like
Thanks, I did not know about that package, it looks good and is probably also a good reference point, but I wouldn’t use it as an additional dependency in this case.
Using Controller is still good as the routeable parent, but I think it would be a good idea for this to be part of Ember, IMHO, and ofcourse I’m no expert on the Ember source code, but I think a Component oriented architecture would simplify things tremendously.
I’ve been developing with Ember for a while and it’s very good, but it leads me to question why Ember philosophy didn’t just start off like this from the beginning? Introducing ArrayControllers, ObjectControllers and even the now Controller etc… seemed like unnecessary baggage instead of a more general and flexible approach.
For sure this is going to be part of Ember in not-too-distant future. The package is for people who want to try using routable components early.
I think most would agree re benefits simplification. Why not start off like this? Guess hindsight is 20/20.
Great news! Thanks again.