Javascript libraries roundup

This entry was published on November 14, 2005 and may be out of date.

I spent days looking for new Javascript libraries and finally made a comprehensive list of almost all libs out there.

Pure JS Application libraries / Frameworks:

Prototype
Prototype is a JavaScript framework that aims to ease development of dynamic web applications.

Homepage: http://prototype.conio.net

Documentation:
http://blogs.ebusiness-apps.com/jordan/pages/Prototype%20Library%20Info.htm
http://www.sergiopereira.com/articles/prototype.js.html
http://wiki.script.aculo.us/scriptaculous/show/Prototype

Rico
Rico provides a very simple interface for registering Ajax request handlers as well as HTML elements or JavaScript objects as Ajax response objects. Multiple elements and/or objects may be updated as the result of one Ajax request.

Homepage: http://openrico.org/rico/home.page
Documentation: http://openrico.org/rico/docs.page
Demos: http://openrico.org/rico/demos.page

MochiKit
MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get things done, fast.

Homepage: http://www.mochikit.com/
Documentation: http://www.mochikit.com/doc/html/MochiKit/index.html
Demos: http://www.mochikit.com/demos.html

Dojo Toolkit
Dojo is an Open Source toolkit that allows you to easily build dynamic capabilities into web pages and any other environment that supports JavaScript. Dojo provides components that let you make your sites more useable, responsive, and functional.

Homepage: http://www.dojotoolkit.org/
Documentation: http://dojotoolkit.org/docs/
Demos: http://dojotoolkit.org/examples/

Bajax
Bajax its a very small and simple javascript library to use Ajax on your pages. independent of programming language. You can put dynamic content using simple commands.

Homepage: https://developer.berlios.de/projects/bajax/
Documentation: https://developer.berlios.de/docman/?group_id=5319

Behaviour
Separate Structure (xhtml) from Behavior (javascript)

Homepage: http://bennolan.com/behaviour/

Solvent
The Solvent is a cross-browser AJAX application toolkit written in JavaScript. The Solvent is provided as modules or as an entire toolkit. The projects focus is to promote robust web applications and enable rapid web development.

Homepage: http://sourceforge.net/projects/solvent/
Documentation: http://sourceforge.net/docman/?group_id=144164

Moo.FX
moo.fx is a superlightweight, ultratiny, megasmall javascript effects library, written with prototype.js.

Homepage: http://moofx.mad4milk.net/
Demo: http://moofx.mad4milk.net/tests.html

WZ_DradDrop
A Cross-browser JavaScript DHTML Library which adds Drag Drop functionality to layers and to any desired image

Homepage: http://www.walterzorn.com/dragdrop/dragdrop_e.htm

WZ_jsGraphics
High Performance JavaScript Vector Graphics Library.

Homepage: http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm

overLIB
overLIB is a JavaScript library created to enhance websites with small popup information boxes (like tooltips) to help visitors around your website.

Homepage: http://www.bosrup.com/web/overlib/
Documentation: http://www.bosrup.com/web/overlib/?Documentation
Command reference: http://www.bosrup.com/web/overlib/?Command_Reference

Scriptaculous
Javascript visual effects, togather with prototype.js

Homepage: http://script.aculo.us/

SACK
Simple AJAX Code-Kit

Homepage: http://twilightuniverse.com/projects/sack/
Documentation: http://twilightuniverse.com/projects/sack/docs.php

Sarissa
Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs. It offers various XML related goodies like Document instantiation, XML loading from URLs or strings, XSLT transformations, XPath queries etc and comes especially handy for people doing what is lately known as “AJAX” development.

Homepage: http://sarissa.sourceforge.net/doc/

Nifty Corners
A small library for making rounded corners with Javascript.

Homepage: http://pro.html.it/esempio/nifty/nifty1js.html

dp.SyntaxHighlighter
dp.SyntaxHighlighter is a free JavaScript library for source code syntax highlighting.

Homepage: http://www.dreamprojections.com/SyntaxHighlighter/
Documentation: http://www.dreamprojections.com/SyntaxHighlighter/Usage.aspx
Demo: http://www.dreamprojections.com/SyntaxHighlighter/Examples.aspx

AJAX.NET
Michael Schwarz, a .NET developer in Germany has released the latest version of his Ajax .NET Wrapper. This class library simplifies the use of XMLHttp by providing .NET objects that generate the necessary Javascript code.

Homepage: http://weblogs.asp.net/mschwarz/archive/2005/04/07/397504.aspx

TOXIC
Toxic is an AJAX toolkit, or framework, for creating rich web applications. It handles the tedious and repetetive tasks involved in integrating a client created using html and javascript with a server backend. It enables client side javascript to directly call class methods in PHP5 (or any other suitable language). It also enables the server side PHP to directly call client side javascript functions. Using Toxic you can get rid of much of the tedious work in form intensive rich web applications.

Homepage: http://www.dotvoid.com/view.php?id=40

Plex Toolkit
Open source feature-complete DHTML GUI toolkit and AJAX framework based on a Javascript/DOM implementation of Macromedia’s Flex technology. Uses the almost identical markup language to Flex embedded in ordinary HTML documents for describing the UI. Binding is done with Javascript.

Homepage: http://www.plextk.org/

CPaint
CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a multi-language toolkit that helps web developers design and implement AJAX web applications with ease and flexibility.

Homepage: http://cpaint.booleansystems.com/
Docs: http://cpaint.booleansystems.com/doc/

DOM-Drag
DOM-Drag is a lightweight, easy to use, dragging API for modern DHTML browsers.

Homepage: http://www.youngpup.net/2001/domdrag/
Tutorials: http://www.youngpup.net/2001/domdrag/tutorial
Demo: http://www.youngpup.net/2001/domdrag/examples

Tibet
Enterprise Class AJAX

Homepage: http://www.technicalpursuit.com/ajax.htm

Zimbra
Rubust AJAX framework

Homepage: http://www.zimbra.com
Documentation: http://www.zimbra.com/products/documentation.html
Demo: http://www.zimbra.com/products/hosted_demo.php

qooxdoo
qooxdoo is an advanced open-source javascript based toolkit. qooxdoo continues where simple HTML is not enough anymore. This way qooxdoo can help you to get your rich web application interface done – easier than ever before.

Homepage: http://qooxdoo.oss.schlund.de
Documentation: http://qooxdoo.oss.schlund.de/section/documentation
Demo: http://qooxdoo.oss.schlund.de/counter/refer.php?id=5

AJFORM
AJFORM is a JavaScript toolkit which simply submits data from any given form in an HTML page, then sends the data to any specified JavaScript function. AJFORM degrades gracefully in every aspect. In other words, if the browser doesn’t support it, the data will be sent through the form as normal.

Homepage: http://redredmusic.com/brendon/ajform/

ThyApi
ThyAPI is an api to allow the developement of better user interfaces for web applicaticions, Using javascript and Ajax, it allows a complete visual interface definition using CSS and encapsulates all objects data manipulateion.

Homepage: http://sourceforge.net/projects/thyapi/

Engine
Engine for Web Applications is an application framework for client-side development and Web applications. It provides an environment in which to develop and run JavaScript components and applications.

Homepage: http://www.imnmotion.com/projects/engine/
Documentation: http://www.imnmotion.com/projects/engine/api/engine_api.html

AJAXGear Toolkit
It is a toolkit that allows you to take advantage of the client-side technique known as AJAX. AJAX is shorthand for Asynchronous JavaScript and XML. It uses the XMLHttpRequest object to allow a Web browser to make asynchronous call to the Web server without the need to refresh the whole page.

Homepage: http://www.ajaxgear.com

Interactive Website Framework
A framework for creating highly interactive websites using javascript, css, xml, and html. Includes a custom xml parser for highly readable javascript. Essentially, all the plumbing for making AJAX-based websites, with js-based GUI toolkit.

Homepage: http://sourceforge.net/projects/iwf/

RSLite
RSlite is an extremely lightweight implementation of remote scripting which uses cookies. It is very widely browser-compatible (Opera!) but limited to single calls and small amounts of data.

Homepage: http://www.ashleyit.com/rs/main.htm
Demo: http://www.ashleyit.com/rs/techniques.htm

XHConn
XMLHTTP is a technology with which a developer can access external resources over HTTP from a static web page without ever having to reload the page itself. This library is meant to simplify and unify the code necessary to successfully send and receive simple data via XMLHTTP.

Homepage: http://xkr.us/code/javascript/XHConn/

Taconite
Taconite is a framework that simplifies the creation of Ajax enabled Web applications. It’s a very lightweight framework that automates the tedious tasks related to Ajax development, such as the creation and management of the XMLHttpRequest object and the creation of dynamic content.

Homepage: http://taconite.sourceforge.net/
Documentation: http://taconite.sourceforge.net/docs/jsdocs/index.html
Demo: http://taconite.sourceforge.net/examples.html

qForms
Great Javascript API for interfacing forms.

Homepage: http://pengoworks.com/index.cfm?action=get:qforms
Documentation: http://pengoworks.com/qforms/docs/
Demo: http://pengoworks.com/qforms/docs/examples/

JSPkg
jspkg is a package loader for Javascript, based on pluggable loaders for locating and loading scripts into a client-side Javascript application. It is designed to work best with unobtrusive Javascript libraries, but doesn’t impose any methodology or design on its users.

Homepage: http://jspkg.sourceforge.net/

Ajaxcaller
AjaxCaller is a thin XMLHttpRequest wrapper used in all the AjaxPatterns demos. The focus is on ease-of-use and full HTTP method support.

Homepage: http://ajaxify.com/run/testAjaxCaller/

libXmlRequest
The XmlRequest library contains a two public request functions, getXml and postXml, that may be used to send synchronous and asynchronous XML Http requests from Internet Explorer and Mozilla.

Homepage: http://www.whitefrost.com/reference/2005/09/09/libXmlRequest.html

SAJAX
Sajax is an open source tool to make programming websites using the Ajax framework — also known as XMLHTTPRequest or remote scripting — as easy as possible. Capable of stubbing calls to numerous server-side platforms: ASP/ ColdFusion/ Io/ Lua/ Perl/ PHP/ Python/ Ruby

Homepage: http://www.modernmethod.com/sajax/
Demo: http://www.modernmethod.com/sajax/examples.phtml

Sardalya
A small library for making dynamic HTML programming easy and fun.

Homepage: http://www.sarmal.com/sardalya/Default.aspx
Demo: http://www.sarmal.com/sardalya/Samples.aspx

X
One of the best javascript libraries out there.

Homepage: http://www.cross-browser.com/toys/

AjaxRequest
AjaxRequest is a layer over the XMLHttpRequest functionality which makes the communication between Javascript and the server easier for developers.

Homepage: http://ajaxtoolbox.com/request/
Documentation: http://ajaxtoolbox.com/request/documentation.php
Demo: http://ajaxtoolbox.com/request/examples.php

moo.ajax
moo.ajax is a very simple ajax class, to be used with prototype.lite from moo.fx.

Homepage: http://www.mad4milk.net/entry/moo.ajax
Demo: http://www.mad4milk.net/examples/mooajax/

PHP based AJAX Frameworks

AjaxAC
AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page.

Homepage: http://ajax.zervaas.com.au

XOAD
XOAD, formerly known as NAJAX, is a PHP based AJAX/XAP object oriented framework that allows you to create richer web applications.

Homepage: http://www.xoad.org
Documentation: http://www.xoad.org/documentation/source/
Demo: http://www.xoad.org/examples/

Zephyr
zephyr is an ajax based framework for php5 developers. you can easily develop business applications using this robust framework. this is extremely easy to learn and very simple to implement.

Homepage: http://zephyr-php.sourceforge.net/

PAJAJ
What is the PAJAJ framework, it stands for (PHP Asynchronous Javascript and JSON). It is a object oriented Ajax framework written in PHP5 for development of event driven PHP web applications.

Homepage: http://sourceforge.net/projects/pajaj/
Documentation: http://www.wassons.org/pajaj/public/docs/index.php

Symfony
A PHP 5 Development Framework inspired by Rails. It has integrated database abstraction and support for AJAX. Installation is fairly easy. Symfony is aimed at building robust applications in an enterprise context. This means that you have full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized. To match your enterprise’s development guidelines, symfony is bundled with additional tools helping you to test, debug and document your project.

Homepage: www.symfony-project.com
Documentation: http://www.symfony-project.com/content/documentation.html
http://www.symfony-project.com/trac/wiki

XAJAX
xajax is an open source PHP class library that allows you to easily create powerful, web-based, Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server-side PHP functions and update content without reloading the page.

Homepage: http://xajax.sourceforge.net/

PEAR:: HTML_AJAX
Provides PHP and JavaScript libraries for performing AJAX (Communication from JavaScript to your server without reloading the page)

Homepage: http://pear.php.net/package/HTML_AJAX
Documentation: http://pear.php.net/package/HTML_AJAX/docs

Flexible AJAX
Flexible Ajax is a handler to combine the remote scripting technology, also known as AJAX (Asynchronous Javascript and XML), with a php-based backend.

Homepage: http://tripdown.de/flxajax/
Demo: http://tripdown.de/flexible_ajax_example.php

Javascript libs for Flash:

FlashObject
FlashObject is a small Javascript file used for embedding Macromedia Flash content.

Homepage: http://blog.deconcept.com/flashobject/

OSFlash – Flashjs
The Flash JavaScript Integration Kit allows developers to get the best of the Flash and HTML worlds by enabling JavaScript to invoke ActionScript functions, and vice versa.

Homepage: http://www.osflash.org/doku.php?id=flashjs
Documentation: http://www.mustardlab.com/developer/flash/jscommunication/

AFLAX
A JavaScript Library for Macromedia’s Flash™ Platform. AFLAX is a method through which developers may use JavaScript and Flash together to create AJAX-type applications, but with a much richer set of vector drawing controls than are available in either Internet Explorer or FireFox. Developers using this library have access to the full range of Flash features, but without ever touching the Flash IDE.

Homepage: http://www.aflax.org

Java based AJAX Frameworks

ZK
ZK is an AJAX-based solution for developing Web applications in Java. ZK includes an event-driven engine to automate interactivity, and a rich set of XUL-based components.

Homepage: http://zk1.sourceforge.net
Demo: http://www.potix.com/zkdemo/userguide

jWic
jWic is a java-based development framework for developing dynamic web applications with the convenience and familiarity of ‘rich client’ style programming. The component-based, event-driven programming model makes it easy for developers to quickly create flexible and robust web applications.

Homepage: http://www.jwic.de/home/
Documentation: http://www.jwic.de/home/documentation.htm
Demo: http://www.jwic.de/home/demo.htm

I dont know much about Java. Please suggest some more Java based AJAX frameworks.

Not enough? Check out JSAN