When I share my knowledge, the first point I focus on is identifying to whom I am talking to, and their goal(s).
Organized by type of achievements, here are my ideal readers for leaning Ember.
- integrate HTML
Profile: students, young developers, even web designers
Scope: they mostly work around components
Ember provides to those people the most of value: all features out of the box. Hence, Ember avoids distractions. They focus attention on Handlebar and GlimmerJS. They don’t need much. Convince them is a key, they will use it later - if they are happy with the DX and the result of their efforts.
- create a JAMstack website
Profile: students, new++ to mid experienced developers
Scope: components, routes, and services for fetching data + intl
They have already worked on other frameworks. Maybe backend ones. The main difference with the first category is they need to ship their code to production. Also, they are more open to extending Ember’s features with contributed add₫ons.
- creating a simple application
Profile: students++, intermediate to senior developers
Scope: architect, create business logic, integrate services and many add-ons. They focus on lots of topics, from the DX to the deployment. They extend their application’s feature, installing, and creating add-ons.
They want to get at one glance the main architectural picture; most of them prefer reference APIs with explicit examples rather than long tutorials. They don’t focus on anything, but a bit everything. All Ember’s concepts are important: from the DX to the shipping.
- create/maintain large applications
Profile: intermedia to senior + expert
Scope: they want to extend/contribute/fix every part of Ember (GlimmerJS, Engines, ember-data, ember-cli, broccoli, etc.)
I guess most of those people contribute to Ember - at least, should contribute x)). They don’t read tutorials, they write them. They focus on the reference API. They want to understand how to each layer works to be able to define the best solution of there needs on both, the build and run time.
There are for me to distinct readers: the spectator and the player — one who implements the existing and the other one who creates it.
I firmly believe Ember is the best choice for beginners. Learning Ember and get something working (components, websites & simple application) should be done with ease and no fear. It’s a great for any developer, though
The biggest challenge for Learning EmberJS is to get away from the idea of “Ember = big learning curve”. Many essential concepts are straightforward on Ember (nested route, basic to complex state management, easy DI, powerful pipeline, well-organized file structure, etc) and not on React nor Angular.