JQuery is a very lightweight and powerful library. It has had a significant impact on the others, as it brings some very important capabilities to JavaScript. It has an especially powerful selection mechanism which allows you to access an element with a syntax much like CSS. It treats each element on the page as a special object with powerful capabilities. jQuery makes AJAX calls quite easy to implement, and has a powerful extension mechanism. The jQueryUI module adds some useful animation and user interface objects to the library.
MooTools is very similar to JQuery, but it uses a more procedural approach (rather than the object-oriented focus of jQuery) It provides a number of very interesting features to JavaScript, including most of the functionality of jQuery. MooTools doesn't have quite the user base of JQuery, but it is growing in popularity.
Scriptaculous is essentially the animation and widget interface for prototype, another very popular AJAX toolset. Prototype was a very important toolset early on, but jQuery appears to be taking over as the most popular toolset.
YUI is the Yahoo User Interface. This is a comprehensive (and massive) AJAX toolset from Yahoo. It allows you to build AJAX pages with the same tools used by the Yahoo team. It is extensive, but not terribly difficult to learn.
I love Extjs, Mootools and JQuery. ExtJS for UI app, Mootools for custom app and JQuery for rapid web enhancement. For JQuery, Almost any plugins i want can be searched via google. I hated the JQuery syntax before, but after using it intensively i can get used to it.
Daniel - 15 years ago
Yeah MooTools for the mature coder who is tired of hitting CTRL - C, CTRL- V and wasting code over and over. Oh yeah, now that jQuery is actually larger in files size than MooTools (and comparably offers less utility) I think it should really take a hard look in the mirror at its little motto - "Write less, do more". With MooTools your code may end up 5% or 10% bigger in terms of actual char, but that code you write is really extensible and can be used over and over. In jQuery you mostly "Write less" about 50 times to do something damn similar to the first time - ask yourself one questions folks: Have you really written less at that point???
I can't believe Ext JS gets so much love and support. I spent the last five months using it on a client project, and if you need to step outside the very basic box they provide for you, you're in for a LOT of pain. Yes, from an API design/modularity standpoint, it has a lot to commend; but it takes you way too far afield of the page you're delivering for my tastes. I could take or leave a lot of jQuery, but what I love about it at the end of the day is that there are no big heavy objects between you and the DOM.
I rarely use a JavaScript framework because I don't see the need for one.
90% of what we do with JavaScript boils down to selecting an element by its id or class attributes, and changing it's properties. Another 8% is form validation. So why bring in the extra bloat of a framework for CSS selectors, XPATH, etc. which we don't use? The use of frameworks should be used for the remaining 2%-- not the normal, every-day stuff.
A framework should provide structures to help solve complex issues... instead, any of the frameworks I've seen written for JavaScript all try to "fix" the language in different ways. But JavaScript isn't broken. If you take the time to actually scope and closures, you won't try to redefine the context of "this". If you take the time to understand prototyped-based OOP, you won't try force unnatural class-centric OOP patterns. There's danger in relying on a framework that has re-defined the language; you may have learned Dojo, but that knowledge may do you little good when your next employer or client prefers YUI.
Besides, it's not 1998 anymore. Standardization and newer browser versions have helped resolved many of the cross-browser compatibility problems early JavaScript developers faced. There remain only a few number or glaring issues today, and the appropriate workarounds are usually just a keyword search away using your favorite search engine. Any *true* cross-browser issue can't be solved by a framework because the framework itself is written in JavaScript.
I could go on, but it would be pointless. Those who would rather rely on a framework than take the time to understand the tools they work with will continue to do so. Frameworks will continue to promote themselves as silver-bullet solutions. I can't change anyone's mind; I just wanted to express my opinion and appreciate the space here to do so.
I'm with you guys... EXT and jQuery is a great combination, but jQuery UI isn't really comparable to EXT. They both focus on totally different things and have their own uses.
Marcel - 15 years ago
By the way, no Google Closure here?
Marcel - 15 years ago
Oz.js is very lightweight and provides useful functions.
@Xanti - yes, yes, modularization and abstraction in programming is a terrible practice. Functions that call other functions? Wasteful.
Speaking of lightweight vs. heavyweight, I'm with christopher and lossendae that ExtJS blows all the other JS libs out of the water for intense UI building, but it's also about as heavyweight as they come. Just now are browsers getting to a point where they can handle moderately sophisticated ExtJS interfaces with grace.
I make my own JavaScript most of the time. Using these enormous libraries for small things is ridiculous. You may say, "but modern internet speeds make it download in a split second!". I have two responses to this: one is that plenty of people's internet connections are far worse than yours, especially shared connections such as on company or educational networks, and that the extreme modularization of these libraries make them slow to do anything - jQuery is full of functions and things that just call other functions.
I love to use Jquery. It is easy to learn.
informative and helpful, i like it.
jQury is the best i tink, i will suggest tihs one.
JQuery is a very lightweight and powerful library. It has had a significant impact on the others, as it brings some very important capabilities to JavaScript. It has an especially powerful selection mechanism which allows you to access an element with a syntax much like CSS. It treats each element on the page as a special object with powerful capabilities. jQuery makes AJAX calls quite easy to implement, and has a powerful extension mechanism. The jQueryUI module adds some useful animation and user interface objects to the library.
MooTools is very similar to JQuery, but it uses a more procedural approach (rather than the object-oriented focus of jQuery) It provides a number of very interesting features to JavaScript, including most of the functionality of jQuery. MooTools doesn't have quite the user base of JQuery, but it is growing in popularity.
Scriptaculous is essentially the animation and widget interface for prototype, another very popular AJAX toolset. Prototype was a very important toolset early on, but jQuery appears to be taking over as the most popular toolset.
YUI is the Yahoo User Interface. This is a comprehensive (and massive) AJAX toolset from Yahoo. It allows you to build AJAX pages with the same tools used by the Yahoo team. It is extensive, but not terribly difficult to learn.
i dont know about mootools what about this...???
Prototype and yahoo, i think
I love Extjs, Mootools and JQuery. ExtJS for UI app, Mootools for custom app and JQuery for rapid web enhancement. For JQuery, Almost any plugins i want can be searched via google. I hated the JQuery syntax before, but after using it intensively i can get used to it.
Yeah MooTools for the mature coder who is tired of hitting CTRL - C, CTRL- V and wasting code over and over. Oh yeah, now that jQuery is actually larger in files size than MooTools (and comparably offers less utility) I think it should really take a hard look in the mirror at its little motto - "Write less, do more". With MooTools your code may end up 5% or 10% bigger in terms of actual char, but that code you write is really extensible and can be used over and over. In jQuery you mostly "Write less" about 50 times to do something damn similar to the first time - ask yourself one questions folks: Have you really written less at that point???
Oh yeah, that and if you want your webapp to look like a Windows XP desktop.
I can't believe Ext JS gets so much love and support. I spent the last five months using it on a client project, and if you need to step outside the very basic box they provide for you, you're in for a LOT of pain. Yes, from an API design/modularity standpoint, it has a lot to commend; but it takes you way too far afield of the page you're delivering for my tastes. I could take or leave a lot of jQuery, but what I love about it at the end of the day is that there are no big heavy objects between you and the DOM.
jQuery > god > cookie
Who doesn't use a framework has too much time on his hands and.
I rarely use a JavaScript framework because I don't see the need for one.
90% of what we do with JavaScript boils down to selecting an element by its id or class attributes, and changing it's properties. Another 8% is form validation. So why bring in the extra bloat of a framework for CSS selectors, XPATH, etc. which we don't use? The use of frameworks should be used for the remaining 2%-- not the normal, every-day stuff.
A framework should provide structures to help solve complex issues... instead, any of the frameworks I've seen written for JavaScript all try to "fix" the language in different ways. But JavaScript isn't broken. If you take the time to actually scope and closures, you won't try to redefine the context of "this". If you take the time to understand prototyped-based OOP, you won't try force unnatural class-centric OOP patterns. There's danger in relying on a framework that has re-defined the language; you may have learned Dojo, but that knowledge may do you little good when your next employer or client prefers YUI.
Besides, it's not 1998 anymore. Standardization and newer browser versions have helped resolved many of the cross-browser compatibility problems early JavaScript developers faced. There remain only a few number or glaring issues today, and the appropriate workarounds are usually just a keyword search away using your favorite search engine. Any *true* cross-browser issue can't be solved by a framework because the framework itself is written in JavaScript.
I could go on, but it would be pointless. Those who would rather rely on a framework than take the time to understand the tools they work with will continue to do so. Frameworks will continue to promote themselves as silver-bullet solutions. I can't change anyone's mind; I just wanted to express my opinion and appreciate the space here to do so.
I'm with you guys... EXT and jQuery is a great combination, but jQuery UI isn't really comparable to EXT. They both focus on totally different things and have their own uses.
By the way, no Google Closure here?
Oz.js is very lightweight and provides useful functions.
No surprise here, all these polls end up the same way, with jQuery dominating.
jQuery dominating...
MooTools FTW!
Adobe Spry
jQuery + ExtJS
Adobe Spry
Definitely MooTools. I know jQuery has a much bigger community, i just don't like the syntax or OOP implementation.
Ext JS
@Xanti - yes, yes, modularization and abstraction in programming is a terrible practice. Functions that call other functions? Wasteful.
Speaking of lightweight vs. heavyweight, I'm with christopher and lossendae that ExtJS blows all the other JS libs out of the water for intense UI building, but it's also about as heavyweight as they come. Just now are browsers getting to a point where they can handle moderately sophisticated ExtJS interfaces with grace.
Been using XUI JS super light JS lib for mobile. I dig it!
MooTools framework. Everyone knows the jQuery toolkit is for Noobs.
Mootools all the way!!!! Makes using JS much easier and less painful!
+1 for ExtJS
Beautiful and powerful UI builder.
jQuery UI feels like a playskool level tool compared to it :)
I make my own JavaScript most of the time. Using these enormous libraries for small things is ridiculous. You may say, "but modern internet speeds make it download in a split second!". I have two responses to this: one is that plenty of people's internet connections are far worse than yours, especially shared connections such as on company or educational networks, and that the extreme modularization of these libraries make them slow to do anything - jQuery is full of functions and things that just call other functions.
jQuery ftw :)
you could've included Ext JS (http://www.extjs.com/), for all the UI designers out there ;)