When considering a JavaScript library/framework for usage you should first define on your goals. I used to separate all JavaScript libraries/frameworks into three categories by their purpose and architecture:
-
I want to pimp up my page with some really “cool” features. Go for JavaScript library.
- jQuery
- ZenoUI
- old: Prototype, Mootools
-
I want to build an application with a rich front-end. I like defining UI with JavaScript and I do not mind much using custom APIs of these libraries for coding my application logic. Go for JavaScript post-library/pre-framework.
- extjs
- kendo
- DHTMLX
- Dojo
- YUI
- Qooxdoo
- jQuery UI
- Bindows – generates the exact look of Windows
- Spry (raw, suffers severely of memory leaks)
-
I want to build an application with a rich front-end. I like defining UI in XML and I would like to code my application logic against standard APIs and make use of other developer-facing standard-based technologies. Go for JavaScript framework.
- Sproutcore
- Backbase
- Ample SDK