Ember.js is a complete framework for developing frontend applications. Design concerns are addressed neatly and comprehensively, following a lot of time-tested software design principles; everything has its place - models and data access, views and UI stuff, rendering performance, controllers/view-models, routing, development tooling, test support, CI/CD integration. Every common web app architecture problem has a solution with this framework, and the less common problems are solved by packages - which tend to be high quality, and the community tends to agree on which packages to use. Upgrading has been relatively straightforward. Inheriting a code-base developed on this framework is also straightforward because your predecessor didn't invent a novel way of organizing code or pull in dozens of packages that you've never seen before. There's also not a new way of solving problems every year, for things that were settled 5 years ago. Lastly, the framework has had a consistent trajectory for many years with a core group of industry-leading engineers that "own" it because they love it.

15 upvotes·50.5K views
Avatar of Jon Hoye