Ext JS 4 est livré avec plus de 300 classes. Il possède une grande communauté de plus de 200.000 développeurs à ce jour, venant d'horizons différents développant dans le monde entier. À cette échelle,Sencha doit fournir une architecture de code commun qui soit :
JavaScript n'est pas un langage basé sur les classes, c'est un langage orienté prototype. Donc, par nature, l'une des caractéristiques les plus puissants du langage est la flexibilité. Il peut faire le même travail effectué de nombreuses manières différentes, dans de nombreux différents styles et techniques de codage. Cette caractéristique, cependant, est livré avec son coût d'imprévisibilité. Sans une structure unifiée, le code JavaScript peut être vraiment difficile à comprendre, mainteniret réutiliser.
La programmation basé sur les classes, d'autre part, reste toujours le modèle le plus populaire de la POO. les langages basés sur une classe nécessitent généralement un typage fort , fournissent une encapsulation, et viennent avec des conventions de codage standard. Le code écrit est plus susceptible d'être prévisible, extensible et évolutif au fil du temps. Toutefois, ils n'ont pas la même capacité dynamique comme JavaScript.
Chaque approche a ses avantages et ses inconvénients, mais pouvons-nous avoir les bons éléments des deux en même temps tout en dissimulant les mauvaises parties? La réponse est oui, Sencha à mis en place la solution dans Ext JS 4.