First off, this is not a which framework is best topic.
On that note let me explain my intentions. A long time ago we have entered the "experience economy" age users are expecting more and more when they visit webpages. Most web applications delivered today have some form of dynamic functionality. This translates into more interactive websites, for example: auto complete, drag and drop and asynchronous prosessing.
While the demand for solutions to those specific functions has been long filled in by great frameworks like jQuery, Mootools and YUI, there is still a lack of abstraction in my opinion. I still find myself repeating myself when building a JavaScript frontend because most sites have a lot of the same code where only the domain knowledge differs.
This is largely to blame on the fact that current JavaScript libraries are operating from a widget perspective. This mostly leads to a incoherent total that works but can't be called an application and, for the most part, isn't portable or reusable.
So what if a framework existed that could do the following:
- Abstract away the selectors. Your OO tree is able to maintain its relation to the DOM.
- Instead of an enormous list of event listeners to maintain, just program for behaviour.
- Instead of repeatedly implementing concrete JSON or AJAX, just program Reader and Writer ojects which are interchangeable.
- jQuery, Mootools or YUI is just the engine being used for DOM manupilation or effects.
This in my opinion would enable us to create web applications faster and more efficiently. Also this would enable us to package away custom widgets for later reuse.
What is your opinion on such a framework? Do you have any additions to the functionality of such a framework? Would you use such a framework would it be available?