The rallying cry for Ember 2.0 has been “Data Down, Actions Up”. Ember's component based architecture sets a pattern where data is passed “down” to child components, while children “request” changes from their parents by triggering actions. This certainly has its advantages ... until it becomes unwieldy. My colleague @ForSpareParts and I have been deep in the trenches implementing an analytics and big data product in Ember for a number of months now.
He wrote a great article about an alternative to Data Down, Actions Up and proposes the alternative architecture we have landed on. Its a good read:
This is from a product I use daily. Who wrote this code and thought they were done? Who approved these two button styles next to one another?
I have this vision of a developer choosing a library that made their development life easier. I picture this code going straight into production use without review. Next, I picture the designer who works there rolling their eyes, checking out, and heading to LinkedIn to see what other opportunities exist.
I'm being unfairly harsh, but it makes me wonder what other sloppiness is happening inside this product.