14

I'm gearing up to do some Ajax style client-side JavaScript code in the near future, and I've heard rave reviews of jQuery when it comes to this realm. What I'm wondering is:

  • What are all the cross-browser JavaScript libraries out there?

What is the experience using them?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
akdom
  • 32,264
  • 27
  • 73
  • 79
  • See also a [thread on cross-browser GUIs](http://stackoverflow.com/questions/218699/your-choice-of-cross-browser-javascript-gui) – Mamut Oct 20 '08 at 19:49

15 Answers15

12

An excellent resource is Jeff Atwood's post on JavaScript libraries.

He lists:

  1. Prototype and Script.aculo.us
  2. jQuery
  3. Yahoo UI Library
  4. Ext JS
  5. Dojo
  6. MooTools
Cœur
  • 37,241
  • 25
  • 195
  • 267
ine
  • 14,014
  • 8
  • 55
  • 80
  • Prototype.js and script.aculo.us are considered dead projects at this point. I believe Thomas Fuchs has a new version of script.aculo.us as an Alpha somewhere, but the original code is really outdated. –  Jun 19 '12 at 23:19
5

ALL the cross browser JavaScript libraries out there? You do realize that there are well over 100 libraries out there, so you should narrow this down a little, IMO.

A good place to start is with Wikipedia's Comparison of JavaScript frameworks, which covers Dojo, Ext JS, jQuery, midori, MochiKit, MooTools, Prototype & script.aculo.us, qooxdoo, YUI, and SweetDEV RIA.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Dori
  • 915
  • 1
  • 12
  • 20
3

Most of the existing answers are either gateways to slimy marketing or libraries long past their due date.

What is conveyed as "cross-browser" is most often "multi-browser", meaning a small umbrella of browsers. Libraries such as Dojo Toolkit and Ext JS (anything by Sencha, really) are guilty of this behavior. jQuery used to behave similarly before some loud calls for sane code arose (the project still has a giant mountain to climb yet). "Cross-browser" most often refers to abstractions for the DOM and a few other APIs.

I've recently completed an HTML DOM library that covers a very wide range of browsers, which I think may interest the community here. The current list is:

  • Internet Explorer 5-9;
  • Firefox 1-13;
  • Opera 5-12;
  • Safari 3.1-5;
  • Chrome 1-4 (presumed to work on all Chrome builds, but Chrome versions remain difficult to test independently); which is the second-widest coverage I've encountered, just trailing another, which I will mention in the next paragraph. The library I've created is entitled: "Matt's DOM Utils" (Utils) and can be accessed via GitHub[[0]] or my own site[1]. It's fully modular and focuses specifically on DOM traversal while providing other utilities such as an Element::classList module.

However, the most comprehensive DOM library on the Internet is David Mark's "My Library". The library contains a giant pile of utilities, with coverage for nearly all browsers beyond Netscape 4. It has a pseudo-modular build stage, and can be very minimal if desired. It can be accessed via GitHub[2] or David's site[3]. I suggest to anyone reading this thread to give that API a thorough glance. I have learned immensely from both the author and the code itself.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
  • This is a sibjective question from long ago, when such questions were acceptable. Now that you have bumped it, it may end up being closed. – Andrew Barber Jun 19 '12 at 23:14
  • 1
    And wait a tic; your post is promoting your own library, after that start? – Andrew Barber Jun 19 '12 at 23:16
  • I've posted factual information that can benefit the community. Facts are something this question is bereft of. –  Jun 19 '12 at 23:21
3

I want to report this almost unknown library entitled: "BBC Glow".

Other libraries are praised for bells and whistles, but Glow is about cross-browser support. The project has a clear statement about its goals, and there is also a browsers support table.

It is a solid starting point.

Massimo
  • 3,171
  • 3
  • 28
  • 41
3

Prototype FTW.

I do like jQuery, but Prototype serves my needs most of the time. It may just be because I'm more familiar with it, but I seem to get stuff done faster in Prototype than in jQuery.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Glenn Slaven
  • 33,720
  • 26
  • 113
  • 165
2

jQuery.

(Added so as to have an entry for voting.)

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Kent Fredric
  • 56,416
  • 14
  • 107
  • 150
2

Loads!

jQuery, Prototype, Ext JS, Dojo, MooTools, YUI, Mochikit, the list goes on!

jQuery is very popular, and an excellent choice. However, some frameworks are better for some things, and others better for others. If you could give us a better idea of what you want to do, or how you will be using it (or even which other languages you use) we'd be able to give you a nudge towards one or the other.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Dan
  • 61,568
  • 9
  • 61
  • 78
2

If you want to jump on the same bandwagon everyone else does, jQuery is the end-all, be-all. You don't have to think, just listen to everyone else. :P

Personally, I use and love MochiKit. It seems to do everything jQuery does, but the philosophy is a bit different and the community is by far smaller. There are not tons of additional plugins, but there are some. It was designed with a lot of Pythonic style and functional programming constructs, so if that sounds interesting to you, you might want to take a look.

Jason Bunting
  • 58,249
  • 14
  • 102
  • 93
2

The list that Dori posted is pretty comprehensive, and I don't think that it's possible to list all the libraries out there since there might be one being written even as I type (it seems to be a passion for some people).

I feel that going with jQuery and/or Prototype will probably get you off the ground and building neat stuff pretty quickly, and chances are that you will fall in love with them as so many of us have.

Gucci had Thomas Fuchs (the creator of script.aculo.us) create their website without using Flash, but check it out, it looks amazing for being JavaScript / CSS only.

A post about it is Gucci Relaunches on Script.aculo.us.

These libraries are so powerful and versatile (with some nice plugins) that you won't "hit the wall" and start looking to other libraries anytime soon.

I have also seen people do some nice stuff with Dojo and Ext JS, but I have never worked with them myself.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Evgeny
  • 166
  • 1
  • 5
1

Of the popular ones are jQuery, Dojo Toolkit, Prototype (with Script.aculo.us) and MooTools. I'd encourage you to test out MooTools unless you're on ASP.NET in which case I'd encourage you to check out the project I am working on (Ra-Ajax) which is a fully server-side binded Ajax Framework for ASP.NET...

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Thomas Hansen
  • 5,523
  • 1
  • 23
  • 28
1

Do have a closer look at MooTools.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Martin OConnor
  • 3,583
  • 4
  • 25
  • 32
  • Ported from moo to jquery. Found moo to be slow as well as overweight codebase. ( Not to mention significant dom pollution and breaking of standard object classes language wide ) – Kent Fredric Sep 19 '08 at 00:08
1

I can't think of doing any JavaScript development without using jQuery (also take a deep look to jQuery UI).

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Bauna
  • 649
  • 1
  • 5
  • 6
1

jQuery is a good choice. It leans towards the 'skinny and speedy' side, and allows for some fantastic DOM manipulation.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
matt lohkamp
  • 2,174
  • 3
  • 28
  • 47
1

I like jQuery. Prototype is very similar. There are several others but I highly recommend you evaluate them yourself.

1

I prefer Mootools because it is lightweight and is based on Prototype, but like Jay said you should check them out for yourself.

ethyreal
  • 3,659
  • 2
  • 21
  • 25