Reading the Sencha Touch 2 documentation, I am having a hard time learning how to structure an application overall, and getting the big picture view of the framework. The isolated nature of the code examples exacerbates this problem: for example, many of the examples implement everything in app.js, but obviously in a real application I want to define my various MVC classes in separate files. Often, I feel like the flexible and declarative nature of the framework is actually making it harder to understand. Here are some examples of the kinds of questions that bother me as I work with Sencha:
- Should I be implementing classes with Ext.define or Ext.create? Can I use either one, with slight adaptations? What are the reasons for using one rather than the other?
- When should I extend built-in components? When should I simply use instances of built-in components? What is the exact relationship between components and views?
- Where should I define proxies - in the associated model's definition, or the associated store? Is there a difference? I have seen both methods used in the examples.
My point here is not merely to answer these specific questions; my point is that they demonstrate the gaps in the overall picture provided to me by the documentation. Reading example source code (or demo app source) is not helpful enough, because there are too many different ways of doing things: often the example is doing what I want but in a way that doesn't fit my app's structure, or in a way that leaves it unclear how to integrate the behavior with the rest of my app. What I would love is a large document that explains Ext JS4 and Sencha Touch comprehensively, in a way that would provide guidance for building a real application. If there is no such integrated source of information, I'd love to hear how experienced Sencha users approach this question. My gratitude in advance!