We can extend and organize our Ext.NET-based components in various ways, as follows:
Using a control builder approach to wrap common code
Extending Ext.NET controls
Using plugins
The first approach, while quick, may not be flexible enough. The other two, however, are immensely powerful and although we might wonder which one we should use, in reality both extending and creating plugins are needed in complex applications.
All options are likely to require JavaScript, but the extending and plugin approaches encourage better JavaScript code and organization by following Ext JS conventions. As stated before, getting the most out of Ext.NET involves embracing and learning Ext JS rather than shying away from it, and Ext.NET's approach to extending controls and using plugins helps you with that very much.
We also spent some time specifically looking at ways in which you can extend Ext.NET components based on scenarios, such as whether you will have custom JavaScript/CSS, custom Listeners/DirectEvents...