technical development client scripts ext - deventry/uosweb-docs-en GitHub Wiki
Sencha Ext JS
-
Industry's most powerful Rich UI application development framework
-
Unparalleled cross-browser compatibility
-
Advanced MVC architecture
-
Plugin-free charting
-
Modern UI widgets
We use ExtJS because:
-
We want to use handy components delivered with Sencha Ext JS. It is a huge time saver.
-
We do not want to worry regarding cross compatibility issues while Programming and Developement. It is a big plus.
Application Design:
-
It follows MVC framework.
-
As ExtJS application size and complexity increases, Sencha Touch and Ext JS can be augmented with Deft JS to add an Inversion of Control (IoC) container, for dependency injection and dynamic application assembly.
-
It is component-based and hence modular.
Components:
One of the primary attributes that distinguishes ExtJS from other JavaScript frameworks is the inclusion of a rich suite of theme-able UI components.
Pros: The handy components delivered with Ext JS are a huge time saver.
Cons: Sencha components tend to produce verbose DOM output, resulting in many more tags that might otherwise be required.
Two way data binding:
- ExtJS has excellent data binding feature using its Store object. To execute two way data binding, a little work needs to be done such as reloading the store etc.
Testability:
-
Applications built with Sencha's framework can be tested using several popular third-party JavaScript testing frameworks such as Siesta (optimized specifically for Ext JS), Jasmine and Mocha; which do not require deferring the ExtJS application's bootstrap.
-
The Sencha product suite does not include a testing framework or test runner.
SEO Friendliness:
Ajax based seo is possible in ExtJS with hashbang urls' support in your web-server.
Mobile Solutions:
-
Sencha Touch - the industry-leading and high-performance mobile HTML5 framework, is used to develop powerful, universal mobile web apps / mobile website.
-
Sencha touch integration with Cordova/Phonegap is used to develop the cross platform hybrid applications.
Dom Approach:
It follows the Depth First, Bottom-Up approach.
Deferred and Promises:
ExtJS augmented with DeftJS may provide Deferred and Promises.
Dirty Checking:
-
ExtJS uses the store's binding feature to execute the dirty checking.
-
ExtJS store allows you to delay the process of dirty checking via its autoSync config which when set to false, the user changes are marked with dirty flags in UI and are updated in batch when the user saves the store.
-
To reflect the changes in the real data in UI, a little work is to be done like reloading the store etc
Getting started:
http://docs.sencha.com/ext/5.0.0/application_architecture/application_architecture.html
http://www.sencha.com/blog/integrating-ext-js-with-3rd-party-libraries