Recently I changed my job and started working at a new place. I joined an already started web-based project, in which the chosen client controls set is Ext JS. My previous experience has been with jQuery and jQuery UI, with some third-party controls where jQuery UI is lacking. The server side technology in both the new project and what I worked on in the previous place was ASP.NET MVC, Microsoft's latest offering for server side programming.
- The basic rendering of the page is quick, and done by the layout engine of the browser.
- Easy binding of form inputs to server data.
- Binding of controls to server side data is difficult at best. In particular, ASP.NET MVC has all these helper methods which create input controls with the data already in them. With Ext JS, these methods are useless, because Ext JS creates the controls by itself.
Ext JS is not too complicated to understand. However, as a result of their complex inheritance model, just about every control has more than a hundred methods and a similar number of configuration options it inherited from five levels up the tree, which is impossible to master. Some of these methods are not even relevant, and are there just because some other sibling control might use them.
And one more thing: jQuery has good support for ARIA accessibility information in its generated HTML. It seems like Ext JS is still lacking here.