The Digg Crew wants to hear your thoughts!
Please take our short survey about Digg and potential feature ideas.
10 Promising JavaScript Frameworks
sixrevisions.com — It’s always good to consider all of your options before settling on a JavaScript framework that ’s right for you and/or your team. This article showcases 10 alternative and capable JavaScript frameworks/libraries to explore. Links to some of their demos (when available) are included in the entry so that you can see the framework in action.
- 1034 diggs
- digg it
- nyde, on 09/04/2008, -0/+31I've never heard of any of these. I think the biggest reason many new developers "stick to the big names" like JQuery is that a lot of people use them already... that's a big plus for us newbies because there's probably a million tutorials that show us how to do what we're trying to do.
- jggube, on 09/04/2008, -0/+12Very valid point. The documentation and community support of frameworks like jQuery, mootools, YUI, and Prototype is reason enough to use them over lesser-known, new (untested) frameworks.
- papastout, on 09/05/2008, -1/+1Exactly! It's articles like this that makes an almost community mentorship out of the internet. I've picked up loads from articles like this. Keep 'em coming sixrevisions!
- falser, on 09/05/2008, -3/+3"many new developers "stick to the big names" like JQuery is that a lot of people use them already"
And it's a shame too because JQuery is an abomination of a programming library. Yeah, its looks cute at first, and there's all those articles written by Average Joe Blogger about how amazing it is. But then you start trying to do something more substantial than a page effect and you realize how stupid and unintuitive it is for every JQuery method to return the JQuery object. It quickly becomes almost unusable for anything that can't be done in one JQuery-esque chain sequence. And because of the way it works I think it encourages some bad programming practices like using closures to do everything.
MooTools originally had a good thing going, but then they started going overboard with an exploded set of classes. Prototype... umm I just understand what point there is to it, cause it doesn't do a whole lot on it's own.
I started getting fed up and will be releasing my own library to throw into the mix.- ell0bo, on 09/08/2008, -0/+1That's why you don't use jQuery for each and every thing. I took my old framework and worked jquery into it, which allowed me to do three things. Keep my old style going, make everything work cross browser much simpler, and reduce the code base. If you try to make one of these things fit every paradigm you want, you're going to fail. I plan on releasing my own framework, but it's essentially a wrapper and series of extensions of jQuery.
- xythian, on 09/04/2008, -2/+10@nyde
I agree that it's important to have the community learning resources, but at the same time all developers (n00b or not) need to maintain a continued commitment to progressing the technologies of our discipline. Experimenting with, critiquing and supporting new frameworks like those highlighted in the Six Revisions article helps us all!
@sixrevisions
Excellent compilation (as usual). You have a gift for finding great and often obscure tools. Though, I would like to see more of your opinion as a developer on some of these frameworks. Perhaps a future post dissecting your most and least favorite of the new frameworks in this post. - wailupe2000, on 09/04/2008, -12/+5I use http://script.aculo.us/ simple and Good.
- ScottyDelicious, on 09/05/2008, -0/+7scriptaculous is just an effects bundle for prototype. You can use prototype without scriptaculous, but you cannot use scriptaculous without prototype.
- clsslc, on 09/04/2008, -15/+6In related news, Django 1.0 is here!
http://digg.com/programming/Django_1_0_released
Just sayin', since no one seems to be noticing.- ScottyDelicious, on 09/05/2008, -1/+5What the hell?
I like Django and Python and all, but why do you want to be a dickhole and hijack a totally unrelated topic.
gtfo.
- ScottyDelicious, on 09/05/2008, -1/+5What the hell?
- kotrin, on 09/04/2008, -15/+4But will they Chrome?
- t0ny, on 09/04/2008, -1/+3MochiKit ftw!
- HaMMeReD, on 09/05/2008, -1/+6No love for dojo?
I've been using it since back in the day and man it ***** flies under chrome. Also allows for good clean development. - diggproof, on 09/05/2008, -1/+19ExtJS
- WishItWerePaul, on 09/05/2008, -0/+4good list, but lacks mention of extjs.
- akkuma, on 09/05/2008, -0/+3Can't use it with commercial software unless you want to buy a commercial license for each developer. At that price why bother using it when jQuery, Mootools, and Dojo all are comparable albeit jQuery and Mootools have a different philosophy, which I agree with more.
- zeeneo, on 09/05/2008, -0/+1ExtJS does a lot more than jQuery/Mootools and Prototype. Dojo and YUI look ugly and just don't work as well as ExtJS. TBH I don't mind paying because ExtJS is a great bit of work and I don't mind them making money if I'm making money.
ExtJS is great.. just a massive learning curve when you first pick it up. It would be nice if it was based on MVC though. - akkuma, on 09/05/2008, -0/+1I already said jQuery and Mootools have a different philosophy. I like to refer to ExtJS/Dojo/YUI as a top down library, while jQuery/Mootools/Prototype as bottom up libraries. The former group does all the work for you of creating widgets. The latter group focuses completely on making JavaScript better to work with. I am not a fan of automagically having things done for me a lot of the time.
Dojo/YUI being ugly is quite a bad argument. You can skin anything anyway you like. ExtJS got it right out of the box though.
Have you looked at the pricing of ExtJS. You are simply out of your mind. http://extjs.com/store/extjs/ I work on a team of about 20 developers. Everyone of them would indirectly use ExtJS if we baked in a lot of javascript through things like inheritance. We'd be looking at spending nearly $5,000! Using jQuery I can get almost all of these things through plugins, wait for more jQuery UI elements to be built out, or spend less time than $5,000 and use that to build out our own widgets.
- zeeneo, on 09/05/2008, -0/+1ExtJS does a lot more than jQuery/Mootools and Prototype. Dojo and YUI look ugly and just don't work as well as ExtJS. TBH I don't mind paying because ExtJS is a great bit of work and I don't mind them making money if I'm making money.
- jtron9k, on 09/05/2008, -0/+2Look for Spry to become pretty popular. Adobe's AIR is pretty much a hit, and they've got the money to pump into Spry. Great list!
- bpmox, on 09/05/2008, -1/+7Spry is garbage.
- ScottyDelicious, on 09/05/2008, -0/+1Agree.
I tried it for a few weeks, and it seems like a "We need our own version of this wheel" after thought.
I use jQuery for almost all my projects, and when a really easy, great looking set of widgets is needed, I like ExtJS.
- ScottyDelicious, on 09/05/2008, -0/+1Agree.
- bpmox, on 09/05/2008, -1/+7Spry is garbage.
- rowjimmy, on 09/05/2008, -0/+1i have used dojo for the longest time, for no real reason at all, but dug myself into a hole creating a very custom version of the whole framework.
- phoenixrip, on 09/05/2008, -1/+7Thats a really good list
And although, right now, you couldn't pay me to use anything other than jQuery, competition forces improvement, so all these libraries are excellent!
(Oh, and I dunno bout any one else, but I'm definitely more inclined to remember / use technologies which I can easily pronounce -- "qooxdoo") - kutateli, on 09/05/2008, -6/+10Mootools > all
- svivian, on 09/05/2008, -1/+1* except jQuery
- SitPoMk, on 09/05/2008, -1/+7Yesss I knew of all of them.
+1 nerd point - monkeyBox, on 09/05/2008, -2/+7None of those come close to ExtJS (http://www.extjs.com)
- debtman7, on 09/05/2008, -1/+2I wouldn't exactly say that.. A lot of those are more MVC oriented (ext is object oriented but tends to be more component based than MVC). Also, ext isn't exactly famous for readable code, as with their nested object configurations you can really make some horribly unreadable things. Frameworks like SproutCore and Cappucino clean things up a lot and make your web app much more like a nicely structured MVC desktop app.
That said, I use ext extensively, because when it comes to a feature rich, stable library for doing UI components, it's hard to beat. jQuery and the like are nicer for DOM stuff and animations, but when I need client side UI components ext is always my choice. For the most part, it just works, in any modern browser and the widgets are well done and extremely functional.
- debtman7, on 09/05/2008, -1/+2I wouldn't exactly say that.. A lot of those are more MVC oriented (ext is object oriented but tends to be more component based than MVC). Also, ext isn't exactly famous for readable code, as with their nested object configurations you can really make some horribly unreadable things. Frameworks like SproutCore and Cappucino clean things up a lot and make your web app much more like a nicely structured MVC desktop app.
- dn11, on 09/05/2008, -1/+9Another emerging alternative is Cappuccino - it uses "Objective J" - a clone of Objective C - making it a powerful platform for traditional application developers.
http://www.techcrunch.com/2008/09/04/cappuccino-br ...
Check out this incredible app developed with it - probably the most advanced web app I've ever seen:
http://280slides.com/- kevisazombie, on 09/05/2008, -0/+4that is a pretty bitching app.
- MtheoryX, on 09/05/2008, -0/+1Nice app there.
Reminds me very much of Apple's Keynote...but in the browser. - WiskyDrinker, on 09/05/2008, -0/+1Yep, pretty cool.. However that is the first one mentioned in the article!
- papastout, on 09/05/2008, -1/+2I've been using Spry simply for the sake of Adobe's libraries of documentation, and it's been about a year I've had it in place. Looking at the examples, Im kinda intrested in Midori's small footprint for an already huge site. I recently dropped in script.aculo.us for some excellent slideshow tricks I have been using.
Great article and I'm just blown away at what is happening with the emergence of all these object oriented programing possibilities.
Take THAT .asp / .net- boobsbr, on 09/05/2008, -1/+3what do you mean by take that .asp / .net?
- Bishoco, on 09/05/2008, -3/+6EXT JS is fantastic for fancy UI, but I'm not happy with their updated licensing. Their license is a good way to stifle adoption of the framework.
- jschrab, on 09/05/2008, -1/+2I totally agree. I was hot to find an applicable project at work to use Ext JS with. But now that they've changed the licensing, I'm ... dragging my feet.
- boobsbr, on 09/05/2008, -0/+1just pay the damn fee. "Allows for a single developer to install and use Ext JS on unlimited workstations for development and to deploy Ext JS on unlimited domains and sub-domains on unlimited servers." for 289. it's not like it's gonna cost your small company a fortune.
- marcus1060, on 09/05/2008, -2/+3I wrote an AJAX app from scratch once...
Stupidest thing I ever did! Ugh... talk about pain in the ass.
I currently use Prototype (and Scriptaculous for animations and what not), but I am looking into maybe moving to another framework.
Any suggestions, the article is far to vague for my liking (which is why I'm not digging it.)- Mutt76, on 09/05/2008, -0/+1JQuery...
- marcus1060, on 09/05/2008, -0/+1Yeah, that's what I'm thinking, just wondering if anyone else has other suggestions.
- Mutt76, on 09/05/2008, -0/+1JQuery...
- loqqq, on 09/05/2008, -8/+3JavaScript frameworks = lipstick on a pig
Flex all the way.- jdollah, on 09/05/2008, -0/+5I can agree with that to an extent. But Flex using ActionScript as its language, which is a variation of ECMA/Javascript, I don't see how Flex is much better than a polished turd.
- theblt, on 09/06/2008, -1/+1You my friend need to start watching some of Douglas Crockford's videos. Yes ActionScript 3 is a derivative of one of the most recent ECMAScript specifications, but the current version of JavaScript is nowhere near the recent specs. They're almost 2 different syntaxes. Javascript doesn't have a built in method for creating namespaces, classes, etc.
- jdollah, on 09/05/2008, -0/+5I can agree with that to an extent. But Flex using ActionScript as its language, which is a variation of ECMA/Javascript, I don't see how Flex is much better than a polished turd.
- FireSlash, on 09/05/2008, -1/+2All I ever use AJAX for is some DOM manipulation and AJAX calls (usually at the same time). Anything that requires actual work is done in PHP.
I'd use JS a lot more if it worked the same in every browser. Too bad it doesn't.- FireSlash, on 09/05/2008, -1/+2All I ever user JScript for...**
yes, I'm retarded.
Also, to further expand: I'm still a bit weary on building websites that can't be java fail safe. Yes, I realize what year it is; but I don't like turning away customers because their java install is b0rked. (Yes, AJAX can be fail safe. Note that the href can be set to anything, but it won't be followed if the onclick="" bit returns false. If any part of the onclick function errors out, it stops execution. In this event, the function does NOT return false, and the href is followed instead.- WishItWerePaul, on 09/05/2008, -0/+1pal, wake up and smell the roses, ajax is here and it is here to stay. dont get left far behind by worrying about problems which arent there.
- dafragsta, on 09/05/2008, -0/+1What the ***** are you talking about? Java installation? JavaScript is independent of ANY Java installation. It's implemented by the browser itself. It's not a plugin. After reading the rest of the comment, I don't think you know what the ***** you are talking about. the REASON that the typical procedure for a browser not running JS to click through the link is that you CAN set up a non-JS compatible link that will take the user to a page that matches the functionality of the JS enabled browser. If the browser doesn't support it at all, it doesn't even recognize event handlers and goes about its business.
I'd say you just put down "Javascript in 24 hours." - bkemper, on 09/05/2008, -0/+1Wow, sarcasm is really lost on some people.
- debtman7, on 09/05/2008, -0/+3Actually that's the whole point of these frameworks, they take care of that whole cross browser mess for you (the good ones at least). I use ExtJS a lot for this very reason. Every time I've had a DOM manipulation issue cross browser, or need to do fancy UI components (floating windows, masking, etc) I use it, because it just works in IE6+, FF, Safari, Opera, etc. I've replaced from scratch JS code with ext just because it was simpler to do that and get it working cross browser than to try and figure out why it wasn't working...
- MtheoryX, on 09/05/2008, -0/+1I understand what you're getting at; however, any JS Framework worth its salt is going to take care of nearly all the cross browser issues for you.
Now, when you're designing a site, you can take one of two paths based on functionality and your intended audience:
1.) JS will simply be used to enhance the site. Without JS on, the site will still function perfectly, so you have this "graceful degradation" think people keep going on about.
2.) JS is essential to the operation of the site/application, and people will HAVE to have js enabled to even use the application. For example: Google Maps (the interactive page).
There may come such a time where we don't have to worry at all about someone having JS turned off, and you may have applications where you don't mind turning people away that don't have JS.
- FireSlash, on 09/05/2008, -1/+2All I ever user JScript for...**
- MacTyler, on 09/05/2008, -1/+5Come on people, JQuery is where its at.
- jasonkeath, on 09/05/2008, -0/+1very nice - there needs to be some faster jv out there. i know chrome will be a nice stab at it
- zerock, on 09/05/2008, -0/+1SproutCore yay!
- slamtv7, on 09/05/2008, -0/+1http://cappuccino.org/ Seems interesting, not in the article but just found out about it
- nutcase, on 09/05/2008, -0/+1Good list, but Mootools is way more sophisticated and thought out than these. Only issue being namespacing support...
- GhandicapXRS, on 09/05/2008, -0/+1I've been having a lot of fun with Ruby on Rails, but always thought that it might be too much for smaller sites and very hardware demanding. These javascript frameworks would be a great, lightwieht, alternative. Escpecially JavaScriptMVC if your coming from a rails background.
- mathie, on 09/05/2008, -0/+1Let's load all of these frameworks into your website and see how slow it get? Anyone tries that yet?
- ravenflx, on 09/06/2008, -0/+0I'm dissapointed to see Spry in the list. From my experience it is anything but promising. It is only "popular" because it's an addon for dreamweaver. At work I use nothing but jquery. I'm in love with jquery. It is me. My designers on the other hand use Spry. Because it's tied into Dreamweaver, they point and click, and it works. But behind the scenes, I shudder at the thought. I dare not look at the code. It's EXTREMELY heavy, it's slow, it's not as clean and smooth as the top 3, and should be avoided by any programmer or anyone working on their programming skills.
Maybe not the best advise? But I think it's good enough. Now where's my beer. - theblt, on 09/06/2008, -0/+1Really...I have to be "that guy" and point out that a lot of people aren't making the distinction between a framework and a library/toolkit, and just interchanging the terms as if they're the same thing. I'm a bit disappointed that none of the commenters noticed that. A framework helps create and determine the development design patterns (e.g. MVC) the developer must conform to in order to make an application. jQuery, Mootools, and Scriptaculous are just libraries with helpers and utility methods, not frameworks... Come on, there has to be another web dev out there who noticed this.
- mikeivanov, on 09/12/2008, -0/+1Please stop giving your articles titles starting with '5', '10', '15', '20', etc...
IT IS REALLY ANNOYING!
Browsing Digg on your phone just got easier with our enhancements to the