10 Promising JavaScript Frameworks
Popular JavaScript frameworks/libraries like jQuery, MooTools, Prototype, and YUI (to name a few of the most popular JavaScript frameworks out there) definitely have a solid foothold in the JavaScript framework arena. But for the more adventurous developers looking for new or alternative frameworks/libraries – there are some excellent frameworks outside the popular ones that’s worth checking out.
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 – and though there’s definitely a lot of compelling reasons to stick to the big names – it won’t hurt you any to at least try the alternatives.
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.
1. SproutCore
SproutCore distinguishes itself by emphasizing its usage for bringing desktop application functionalities on the web. It’s got a healthy amount of easy-to-follow guides to get you going quickly and its own Google Group for your questions and for interacting with other SproutCore developers.
SproutCore demonstrations: Photos, Sample Controls
2. Spry
Spry is Adobe’s Ajax framework. One of the many distinctive features of Spry is its tight integration with Adobe products (such as Dreamweaver, Flash and AIR). Just like any Adobe product, there’s already a ton of documentation to help you get started with Spry quickly.
Spry demonstrations: Photo Gallery, RSS Reader, Form Validation Widgets
3. JavaScriptMVC
JavaScriptMVC is a featured-packed JavaScript framework. JSMVC applies the Model-View-Controller (MVC) architectural pattern to JavaScript, separating business logic from the presentation layer - resulting in increased modularity and ease-of-modification for either one of the components. It has a built-in automated testing unit (because "JavaScript testing sucks") and even emails you when a user encounters an error.
JavaScriptMVC demonstrations: Error Demo, History Demo, Todo Demo
4. qooxdoo
qooxdoo is an Ajax application framework that uses object-oriented JavaScript. It’s a framework that allows you to build a web application using JavaScript without worrying about HTML, CSS, and the DOM. It’s also a fully-featured graphical user interface toolkit (much like YUI) giving the developer built-in support for keyboard navigation, tabbed interfaces, and drag and drop capabilities - among other components.
Qooxdoo demonstrations: demo browser, Feed Reader
5. midori
midori is a light-weight JavaScript framework. At it’s uncompressed state, it weighs in at only 45 KB (in comparison – jQuery in it’s minified state is 54KB). But just because its light doesn’t mean it’s lacking in complex JavaScript functions – midori offers common functions you’d expect from an JavaScript framework such as cross-browser Ajax functions, the ability to use CSS selectors (as opposed to midori-specific syntax) for matching elements in the DOM, and animated effects.
midori demonstrations: drag and drop, popups, toggle
6. Archetype JavaScript Framework
The Archetype JavaScript Framework is a robust JavaScript framework that shares a lot of things in common with Prototype. Archetype has a dependency management system which initializes needed components for particular web pages(what components and CSS file to load – for example). Archetype also emphasizes code readability and coding best practices by being hard-lined about HTML/CSS/JavaScript separation (i.e. "unobtrusive JavaScript") .
Archetype demonstration: Slidy Presentation
7. June Framework
The June Framework was inspired by the Core library and uses the Module design pattern. For those using MS Visual Studio 2008, you’ll love the documentation that comes with the June Framework because it utilizes Visual Studio’s intellisense format (code hints/auto-completion while you write).
June Framework demonstrations: setOpacity, highlight, getKeyName
8. UIZE
UIZE (pronounced "you eyes") is another JavaScript framework the emphasizes the creation of full-on rich internet applications (RIA) as opposed to basic effects and widgets/components on a web page. It already comes packed with "ready-to-go" widgets such as a date picker, a table sorter, progress bar, and color picker.
UIZE demonstrations: Slideshow With Wipes, Marquee and Image Port
9. SimpleJS
SimpleJS is a simple and lightweight, but feature-packed JavaScript framework with Ajax helper functions and animation effects. It uses a "plugins" system much like jQuery and MooTools to extend the framework. It’s the perfect solution for developers who don’t need much outside of basic Ajax functions and effects.
SimpleJS demonstration: you can view the demos in the left side bar of the website under "Functions".
10. Fleegix.js
Fleegix.js has an excellent "events system" that helps you listen, manipulate, and fire off DOM event (such as mouseover’s, onclick, etc.). It includes a function for serializing JavaScript objects into JSON format (fleegix.jason.serialize) and – because every other JavaScript framework has it – an awesome effects module to help you add rich, animated JavaScript animation onto your web page or web application.
What are you rolling with?
Which JavaScript framework do you use, and why? What compelling factors would make you look for another alternative? What features from other frameworks/libraries does your framework lack? Let’s start up a discussion on JavaScript frameworks in the comments!
Resources on JavaScript frameworks to check out
- Choosing a JavaScript framework
- Javascript framework usage among top websites
- The Most Complete AJAX Framework and JavaScript Libraries List
Related articles on Six Revisions
- Graphing/Charting Data on Web Pages: JavaScript Solutions
- 40 Excellent Resources for JavaScript Coders
- Learning MooTools: 20 MooTools Tutorials and Examples
If you enjoyed this article, consider subscribing to the Six Revisions RSS feed!












115 Comments
Dainis Graveris
September 4th, 2008
Thanks for the list - anyway I will stay to jquery, mootools - because they are popular for reason.
weblizzer
September 4th, 2008
i prefer to work on jquery and mootools as well, as they have more support for documentations and lot of resources
V1
September 4th, 2008
They are only popular because no brainers choose frameworks based on popularity, not based on what u require for the project.
Pelle
September 4th, 2008
Interesting list - although I think that DOMAssistant, which I’m part of the team behind, really should be in there based on it’s outstanding performance.
Adrian
September 4th, 2008
Using and loving DOMAssistant which is worth a good look for its performance and bare-basics approach.
Jacob Gube
September 4th, 2008
@Pelle and @Adrian: DOMAssistant is definitely awesome. jQuery users would definitely find the syntax intuitive.
uffa
September 4th, 2008
JQuery is where it’s at. Its selectors are extremely powerful and intuitive. It also has the biggest development community behind it, which means less code you have to write yourself.
Simon North
September 4th, 2008
I don’t think that I’d use anything else apart from jQuery at the moment, maybe MooTools if I had to.
Iain Fraser
September 4th, 2008
Yeah I have to say, I’m a big jQuery fanboy these days and like other people here, I dabble in mootools. qooxdoo looks really interesting though - I might have a look at that - thanks :)
Jacob Gube
September 4th, 2008
Good to know there’s plenty of jQuery/MooTools fans here.
Spygmo
September 4th, 2008
Definitely Qooxdoo. In all honesty I have only tried Qooxdoo, YUI, JQuery and Mootools, but Qooxdoo makes the most mature impression to me. And I’m not the only one as the Eclipse RAP also uses Qooxdoo for it’s client side.
foxman
September 4th, 2008
I was a heavy prototype user made the switch to jquery and just find it so easyto use I just seemed to get it…..
I am sure the old adage here right tool for the job.
Ron
September 4th, 2008
Dojo, YUI, prototype
Keith Watanabe
September 4th, 2008
i’m heavily surprised that there was no mention of ExtJS here. this framework has some really good functionality, although it’s very heavy. it’s very similar to Java Swing style programming, maybe even easier to a degree. also, the look and feel is very professional.
Steen
September 4th, 2008
@V1 - does the choice to use one of these listed frameworks mean you become a ‘no-brainer’? Because heavy documentation is essential to the n00b crowd and it just happens to drive development.
Seriously.
Justin Meyer
September 4th, 2008
On JavaScriptMVC,
Thanks for the shout-out Jacob! I agree that jQuery is a fantastic library. Choosing a framework really depends on what you are doing.
If you are just adding roll-overs, sliders, and other effect based functionality, jQuery / mootools / prototype are great choices.
However, JavaScriptMVC, and a few of the others that I am familiar with (SproutCore) are designed for something else in mind.
For example, JavaScriptMVC has an integrated build process. You can easily create new files and projects (it has code generators), put up scaffolding to get your code working quick, test your code, document your code, and compress it. You can do this will almost no extra work.
JavaScriptMVC also specifies a way to do things. Which makes it great when working with teams.
In the end, it’s design for building things like Jabbify: http://jabbify.com.
I wouldn’t use any library / framework blindly though.
Scott
September 4th, 2008
Foundation javascript framework:
http://FoundationDotJS.org/
Been around a looong time. A RISK clone from 2001:
http://GamesByEmail.com/Games/Gambit#Preview
And Axis & Allies from 2005:
http://GamesByEmail.com/Games/WW2#Preview
True inheritence, simple syntax, tiny footprint. Preprocessor and documentation generator to boot.
Josh savage
September 4th, 2008
Outstanding. thats some pretty cool frame work!
Jiff
http://www.anonymize.kr.tc
Swil
September 4th, 2008
The ‘Choosing a JavaScript framework’ link under Related is pointing at the wrong article…
Duncan
September 4th, 2008
+1 vote for jQuery.
I’d put money on some of these not being around in a year.
Tony Pitale
September 4th, 2008
No mention of Cappuccino?
http://cappuccino.org/
Matthew Weier O'Phinney
September 4th, 2008
I use Dojo for all my needs. I’ve played with a variety of frameworks, but its modular and pragmatic approach outstrips all of them.
That said, the right framework is the one that helps *you* get the job done.
Thomas
September 5th, 2008
jQuery its powerful but yes its gotten bloated. For those reasons I often use much older versions of jQuery simply for its core functionality. The animations and UI stuff, 95% of that I wouldn’t use. I looked a qooxdoo because it looked interesting but its not really in quite the same niche as jQuery. I loved the way things looked it seemed really tied into python on the server side and it being an “ajax” framework feels right and wrong at the same time. Right because it looks like it would be good at rich applications without worrying about finding plugins for dialogs etc and many of the things present in swing or other gui toolkits are there. However, the mode of thinking seems highly assumptive on utilizing ajax. Which I believe should always be a perk but not a hinderance to an application. In other words, people running AOL 6 or IE 5.5 who might require more gentleness with these perks shouldn’t feel left out. Gmail does it well with their basic html mode whenever ajax has errors. I’d like to see a framework with more seamless degredation. However, jQuery has made providing these modern browser ‘perks’ very easy.
Abdel
September 5th, 2008
I use ExtJS and jQuery.
tyler
September 5th, 2008
Seriously, I’ve only heard of qooxdoo and spry from this list, and neither of those will find top 10 in any other list :s
jQuery, Prototype, Mootools, and Dojo!
TI
September 5th, 2008
Nice to see some new faces though some of those are lacking in innovation. Picking things from the big players and calling them a new “framework” seems less productive.
Things like 280 Norths work show there’s still room to innovate and John Resig (of JQuery) is constantly pushing the boundaries.
V1 makes a partially good point. You need the right tool for the job. Hence I currently use dojotoolkit and build my library to the project rather than choosing a new one each time.
ptamaro
September 5th, 2008
Where’s Dojo? :-|
Binny V A
September 5th, 2008
Another new JavaScript Library - JSL
Costin
September 5th, 2008
Thanks Jacob, for adding the JUNE framework to your list.
All the best to you! :)
kiran aghor
September 5th, 2008
Dojo is also promising. They have got some kool UI components.
Manny Ramirez
September 5th, 2008
Great list, I dind’t know some JavaScript Frameworks like Uise… very interesting post
Jan Kraus
September 5th, 2008
Somehow I find the Prototype.js library most usefull for me to write some Javascript stuff. I like it, because it does not use those fancy, tricky syntax like JQuery. Sure, perhaps it takes bit more lines to do something, that you can write just in one using other libs, but I think, the code is more readable later.
Scott
September 5th, 2008
JQuery is it. Let’s get real. For enterprise and manageable code, there is no other.
Andy B
September 5th, 2008
I think there’s a difference here between a JavaScript Library, and a JavaScript framework. The former, like (jQuery) provides an abstraction layer to DOM and BOM APIs, the latter architecture and code organisation. For example, no reason why you couldn’t use jQuery, YUI, or prototype (etc…) with JavaScriptMVC. In some cases libraries will include both (e.g. Base Class Constructors)
Btw, just spotted this framework from the chaps at 280 Slides:
http://cappuccino.org/
Amjith PS
September 5th, 2008
hi dear,
Its time to reload the list … you have missed many important frame works such as JQuery, EXTJs, Yahoo lib, Prototype. They all are far front of the list… i dont know why you did this list. u are missing important things. please check it again.
Thanks in advance
amjithps
Prominentlabs technology solutions and services
Puneet
September 5th, 2008
I think Jquery is the best js framework. It has lots of addons and plugins. Earlier I used to use the prototype But Now moved fully to Jquery.
~puneet
Zacko
September 5th, 2008
jQuery all the way! Easy and simple to use.
jive
September 5th, 2008
jQuery has become the king though, its small, has tons of plugins, examples, good docs and is easy to remember and understand. It only requires 1 js file unless you use plugins, whereas many frameworks have tons of js files that do different things and you have to know what to load.
Charlie
September 5th, 2008
One of the advantages with using a popular library (jQuery, mooTools, etc.) is that you can let google serve the library itself:
http://code.google.com/apis/ajaxlibs/
Users then are more likely to have the library cached, too.
Jack R
September 5th, 2008
nice list. Most I had never heard of so I’ll have to check them out. I’ve used YUI, Dojo, jQuery and Prototype in the past but since last year I was blown away by Ext JS. It has by far the best UI widgets out there. No one is even close in my opinion.
Original Sin
September 5th, 2008
I’m a big fan of ExtJS, a little difficult to get into, but very slick, and for me, it’s important that the JS framework makes your site *look* nice, in addition to being functional. I my opinion, ExtJS strikes that balance nicely.
Jonathan Snook
September 5th, 2008
Reading through some of the comments, you have to wonder if they read the article. jQuery, MooTools, Prototype, and YUI are mentioned in the first sentence. It was about other libraries/frameworks and what they can bring to the table.
ExtJS should definitely be on this list. It’s a fantastic framework. Very well designed.
DOMAssistant is also another great library.
Jacob Gube
September 5th, 2008
There’s a significant majority here that want to stick to the “big names”, and being well-known and used is in itself a very compelling reason to choose it as your solution. To me, a project’s (whether it’s a JavaScript framework or a CMS) documentation and community support is definitely a deciding factor. Other points such as serving it using Google’s Ajax library (@Charlie) and being better-tested just because they’re used more often make them even more compelling.
In this list, I tried to showcase frameworks/libraries that had some distinguishing characteristics. For example, Spry will tightly integrate with Adobe products (Dreamweaver CS3 has built-in options for it), JavaScriptMVC ports the MVC architecture that’s more commonly seen in software development into a client-side language, qooxdoo lets you create a web application using just JS without having to deal with the HTML/CSS code, and Simple.js is lightweight and carries just the “barebones” functions you need for basic Ajax requests/handling and effects.
@Andy B: Great thing you brought up the framework vs. library point. It took me quite a while to decide whether I should stick with the title or name it “framework/library/toolkit”. In the end, I decided the term “framework” is appropriate for all of these simply because they all abstract “lower-level” code (*note to self*: never refer to JS as “low-level” again after this comment) similar in concept as programming in say, C++, abstracts low-level Assembly. JSMVC, qooxdoo, and SproutCore do stick out in this crowd because they don’t fit our conventional idea of what a JS framework is.
To Everybody: Thank you very much for your insightful inputs, it makes writing stuff like this worthwhile just to read your viewpoints and find new stuff like Cappuccino.
Adam Bones
September 5th, 2008
Appalled that Components didn’t make the cut ;)
http://code.google.com/p/components-js/
Brian
September 5th, 2008
ExtJS.com
Rag
September 5th, 2008
I used Spry and Rico (openrico.org) together and they are awesome. Spry is heavy into data driven UI (the lists, forms, tabs, html panes etc. can be populated from XML/JSON data source) and I am not aware of any other framework, which is as rich and capable. I use Rico’s LiveGrid to populate my Grid interface. Again, I am not aware of any other framework, which has a Grid anywhere near what Rico has. With LiveGrid, I don’t need to implement pagination anymore since the data is available dynamically and it is super fast.
Mikael Bergkvist
September 5th, 2008
http://www.widgetplus.com should be there as well..
Ad Manager
September 5th, 2008
Wow, there are that many js framework in competition out there? I wonder how many js libraries will be loaded into a web page in the future. I use jQuery for our system.
Sudheer
September 5th, 2008
I use Dojo and jQuery. I wouldn’t want to explore new JavaScript tools unless they offer something great Dojo and jQuery don’t.
Eric J
September 5th, 2008
Does anyone know what role Python plays in qooxdoo? Why one need to install python to use qooxdoo?
Thanks
Rob
September 5th, 2008
Not quite a framework, but b9j.js has several useful javascript tools, including a URI class/object, path object, sha digester, randomizer, and more:
http://appengine.bravo9.com/b9j
Thomas Hansen
September 5th, 2008
Not in the JS category since its goal is actually to make developers not worry about JS while still doing standard based Ajax development. Though only for .Net and Mono. Ra-Ajax at http://ra-ajax.org
ricardoe
September 5th, 2008
Thanks a lot for the new options, its always interesting.
Honestly I’m a jQuery evangelist, why? Just because the simplest of the reasons: it’s fun.
I think there are a lot of jFans because its very easy to achieve complex task on jQuery, it just works, sometimes I wonder if I one-line-jSentence will work, and PAF! It works!
And one of the best things about jQuery is its sintax, the less words I have to learn faster I’ll achieve my task.
I mean, I enjoy there are people working on more and more options, but honestly there’s nothing wrong with people enjoying jQuery, its the best at what it have to do: simplify JS development.
Keep up the good work!
PS. Maybe just one thing I could ask to jQuery team: let us customize our jquery. Maybe sometimes I don’t need effects, or sometimes I don’t need events (:) maybe)…cya
gossi
September 5th, 2008
Just want to add gara (http://gara.creative2.net) to this list. I ported Eclipse SWT/JFace to Javascript and beta will be out soon.
E. Myller
September 5th, 2008
Hi there. Nice post.
I’m also developing a JS Library, the utm ( http://utmproject.org/ )
(today I’m still developing the website, so some links might be broken for now).
I wrote a good description to it on my blog: http://emyller.net/?p=47
It already have a lot of features ready for tests: DOM Selectors, Module support, event helpers, etc. Right now I’m writing some modules (UI, Window and effects).
I’d be glad if anyone could join this open-source project and help in some way.
Thanks!
Brian
September 5th, 2008
You mention above that Spry tightly integrates with Adobe’s products. While true, its worth pointing out that Adobe’s own ColdFusion actually uses ExtJS, not Spry. If you haven’t tried ExtJS, you’re missing the boat. At the present time, I would have to say that its the end-all be-all for components(yes, even edging YUI(which it is related to) and Dojo). Think YUI on steroids.
Dean
September 6th, 2008
This is a list of ‘alternative’ frameworks - so ExtJS is not included becasue it is mentioned in the popular list linked at the beginning.
As a side note I use ExtJS….very cool framework.
Mike Rea
September 6th, 2008
For projects such as enterprise apps (web apps that displace client-server apps), I think right now it’s a two-horse race between ExtJS and Qooxdoo. I’d like to see Qooxdoo continue to get more attention here at Ajaxian, as it’s still sort of the best kept secret out there.
@Eric J. Python is used in Qooxdoo for the “Make” process, which enables selective inclusion of js classes, depending on the needs of your app.
Florian Traverse
September 6th, 2008
Thanks for the shout on Archetype, we’ve got some great announcement and site updates in the next few weeks that will happend, bad your article is right now, some of them in summary:
- Archetype has been succesfully used on two major site making millions hits a day (we’re waiting to be authorised to detail this).
- a totally cool social bookmarking project relying on Archetype only to render the whole page will be released and “freed” in the next few months
- we will release a new version as soon as I have finished to read & correct the documentation
- we are considering having a “base librarie independance” like ExtJS does : we currently use Prototype 1.6 on the tip, latest release was on Prototype 1.5, and we have now a branch to see what’s the cost of a jquery version…
- we keep to have the more “magical” librarie out there using our combo components/methodBuilders, and more will come (I particularly think trying to able to “spoof” libraries functions to add more services to them)
Have fun and follow the blog ( http://blog.archetypejs.org ) or the mailing list ( http://groups.google.com/group/archetype-user ) to get more news ;)
Adam Bones
September 7th, 2008
@ricardoe - I have to disagree about the ‘one line jSentence’ philosophy.
It might look slick in small examples - but in practice I find the mass of queries pretty scary.
That’s why I’m advocating Components. Object models!
http://code.google.com/p/components-js/
Jacob Gube
September 7th, 2008
Mike Rea: I completely agree with the qooxdoo sentiment. ExtJS - in my humble opinion - is quite popular already; I’d rank it somewhere in the top 10 popular JS frameworks, along the likes of MooTools, YUI, and Prototype and that’s why it’s not on the list.
dan90
September 7th, 2008
i use jQuery and dojo for webapp oriented stuff. for more offline-oriented stuff, instead of JavascriptMVC though, i roll with trimpath junction -http://code.google.com/p/trimpath/wiki/TrimJunction , which is pretty mature, and has a way of dealing with models that feels more intuitive to me than JavascriptMVC - less of a REST-flavoured storage engine and more of a RDBMS-flavoured one, including, AFAICT, more graceful handing of foreign key constraints - which pop up enough in my webapps to be important. Works for the kind of apps I’m developing. YMMV, of course.
shola lawani
September 7th, 2008
please check the x-library cross-browser.com
Nick
September 7th, 2008
You could have pointed out the JavaScript Infovis toolkit.
http://thejit.org
Just sayin’
Fred
September 8th, 2008
Very nice list ^^ Archetype is one of the best ones in my point of vue. Very open, with a good architecture. Such js fmk is usefull coupling new java fmk !
Ismail Mayat
September 8th, 2008
quite a few new ones in the list i have only ever really used jquery / moo tools.
Mike Bobiney
September 8th, 2008
seems to me that having so many options to choose from makes for a community of developers with quite a fragmented skillset when it comes to each individuals javascript expertise.
Michael Owens
September 8th, 2008
I use Mootools as my primary, alongside my personal framework of MkJS (mainly extensions and plugins for Mootools, but it includes a number of non-Mootools specific scripts and functions).
The others that I use are jQuery, YUI, Spry, X-lib, and Prototype/Script.aculo.us (although the only one that I have used for major release candidates has been jQuery; the others were for experimental/testing purposes).
Andreas Herz
September 9th, 2008
Hi,
I know, this is the most hatet type of posting :-)
…but I’m missing the Draw2D library.
http://www.draw2d.org
A javaScript lib to create Visio like web applications.
greetings
Andreas
Matthew Quinlan
September 10th, 2008
Appcelerator focuses on simplifiying RIA development (ninja-level JavaScript knowledge no longer required for RIA).
Cheers!
-Quin’
ryan
September 10th, 2008
check this out: http://12tb.com
it’s completely designed in jQuery
Limelight
September 20th, 2008
For those interested in a structured approach to building their own components check out the Gapjumper framework.
Dave
September 27th, 2008
I use JAK since all popular frameworks are so bloated and slow. I use it since need something fast, small, and object oriented. It is perfect for high traffic sites since it is about 1 KB.
THE|ODIN
October 3rd, 2008
There is never going to be a definitive answer to this question. But frameworks have certainly made developers lives much easier. My personal favorite is Jquery, you got to love its approach.
http://www.jquery.com
Anthony
October 6th, 2008
great post. Check out oue web design site http://www.Benjaminmarc.com
Exdizajn
October 31st, 2008
what about Cappuccino?
Dmitry
December 7th, 2008
Look at “js-core”, it is new lightweight JavaScript framework.
David Mark
December 9th, 2008
Hard to believe anyone would use jQuery, MooTools, Prototype, etc. at this point. They make it easy to write illegible and inefficient scripts while learning nothing about browser scripting. Every time a new browser version is released, anything built on them has to be re-tested due to an inexplicable reliance on the user agent string. Support groups are the blind leading the blind. Widgets built on top of them are sluggish, brittle and inherently worthless (as most are written by people who never learn anything about browser scripting.)
Brian
December 14th, 2008
Hail the framework that nobody has ever seen! Keep up the good work David!
Gregg
December 14th, 2008
How about Axiom Stack, Java-based with ECMAscript.
http://www.axiomstack.com
Brian
December 17th, 2008
@Gregg: Thanks for the link, it looks very interesting!
Lev Matematik
December 23rd, 2008
Consider new standards-based Ajax Framework Ample SDK (http://www.clientside.ru/). It has standard API (DOM-Level-3) as well as inbuilt componentization model.
David Mark
December 23rd, 2008
@Brian
I didn’t recommend any framework. Clearly you clicked my name above though (so you must be a nobody.)
Leave a Comment