I am a relatively new Ember developer, and after digging through dozens of docs and articles I still do not have a full understanding of the purpose of controllers inside an Ember application. Many past discussions have alluded to an effort to completely move away from controllers in favor of routable components, an idea which, from what I have gathered, has been largely abandoned or at the very least put on hold (please correct me if I’m wrong).
The Ember documentation states that “controllers are still integral part of an Ember application architecture, and generated by the framework even if you don’t declare a Controller module explicitly.” However, controllers are not referenced in this diagram of core ember concepts, and the documentation page for controllers is very short and does not make it clear to me when to explicitly define my own controllers. In the project I have been contributing to, the few controllers that are present are mostly empty, and my peers on the project avoid creating controllers, instead relying mostly on components.
I’d really appreciate some clarity on the role of controllers in an Ember application, what logic a controller handles that cannot or should not be handled by the route or component files, and a concrete example of when defining a controller would be beneficial or necessary.