I have noticed many people are talking about MVC and creating [multiple] instances of controllers themselves, which makes total sense to me. I am also leaning toward creating controllers/views myself, but it looks counter intuitive to the approach of ST2, where you declare all your classes beforehand.
Let's consider an example: I have a large app with maybe 5 packed screens (each one is a carousel with many DOM elements including images). Since each one is large, and only one is shown at any given moment, I would want to be sure that only one of them fully exist in memory at any point in time -- when you navigate from one to the other, the previous one should be released. According to ST2 documentation and best practices, you should list all controllers and views in your Application class, and then they will all be dynamically loaded upon init (?), which doesn't sound like what I want to have (there's not a lot mentioned whether everything resides in memory throughout the app or if ST somehow releases and recreates views). What should I do? Should I, instead, instantiate the controllers myself (using Ext.create or Ext.widget? Or maybe have all the controllers set-up at init, but do not init the views until needed and released when not needed anymore? (something like KitchenSink, with its viewCache? although the code there looks so cumbersome for such a common task).
If I do go with the latter option (of creating, maintaining and releasing my controllers), would it mean that I can't use routes anymore? Also, will Sencha SDK not be able to compile my classes anymore, since I probably don't declare all my views and controllers in my Application (correct me if I'm wrong, please)? Seems like this is not as intended.
On a somewhat different note, why is it that in most of the examples the same controller is in charge of so many views? shouldn't there be more controllers? For example, the Speaker view in the Oreilly's app is being managed by the Speakers controller (which is also in charge of the Speakers view), the ProductView in the TouchStyle app is being managed by the Category controller, which also manages the ProductsList.