2011-09-02

Javascript Libraries

The following libraries require either jQuery or no library at all.

Editors
http://codemirror.net/ - CodeMirror is a JavaScript library that can be used to create a relatively pleasant editor interface for code-like content ― computer programs, HTML markup, and similar. If a mode has been written for the language you are editing, the code will be coloured, and the editor will optionally help you with indentation.


Graphics / Visualization
http://www.raphaeljs.com/ - Raphaƫl is a small JavaScript library that should simplify your work with vector graphics on the web.
http://www.processingjs.org/ - Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest.
http://vis.stanford.edu/protovis/ - Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction.
http://fgnass.github.com/spin.js/ - An animated CSS3 loading spinner with VML fallback for IE. Smaller than an animated GIF (~1.7K gzipped)

Charting
http://www.highcharts.com/ - awesome charting library
http://www.jscharts.com/ - JS Charts is a JavaScript based chart generator
http://code.google.com/p/flot/ - Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.

Maps
http://gmap.nurtext.de/ - gMap is a lightweight jQuery plugin that helps you embed Google Maps into your website. With only 2 KB in size it is very flexible and highly customizable.

Video
http://html5media.info/ - make HTML5 video and audio tags work in all major browsers.

Localization
http://josscrowcroft.github.com/accounting.js/ - a tiny JavaScript library for number, money and currency formatting, with optional excel-style column rendering (to line up symbols and decimals). It's lightweight, fully localisable and has zero dependencies.

Local Storage / DB Like Interfaces / KeyValue Stores
http://www.jstorage.info/ - jStorage is a simple wrapper plugin for Prototype, MooTools and jQuery to cache data (string, numbers, objects, even XML nodes) on browser side.
http://samy.pl/evercookie/ - evercookie is a javascript API available that produces extremely persistent cookies in a browser. (Note: dont actually use it on your website)
http://taffydb.com/ - TaffyDB is an opensouce library that brings database features into your JavaScript applications.

Security
http://www.adsafe.org/ - Making JavaScript Safe for Guest Scripts

Encryption
http://cryptico.wwwtyro.net/ - An easy-to-use encryption system utilizing RSA and AES for javascript.

Keyboard Shortcuts
https://github.com/pixelmatrix/mapkey - A simple jQuery plugin to easily map keyboard characters to links or functions

Text Processing
https://github.com/bcherry/twitter-text-js - A JavaScript library that provides text processing routines for Tweets. This library conforms to a common test suite shared by many other implementations, particularly twitter-text.gem (Ruby). The library provides autolinking and extraction for URLs, usernames, lists, and hashtags.

Script Loaders
http://headjs.com/ - Load scripts like images. Use HTML5 and CSS3 safely. Target CSS for different screens, paths, states and browsers. Make it the only script in your HEAD. A concise solution to universal issues. headjs Introduction

Client/Server Real Time Communication
http://socket.io/ - Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. socket.io introduction 

UI + Effects
https://github.com/jeff-optimizely/Guiders-JS - Guiders are a user experience design pattern for introducing users to a web application. guider js introduction
http://documentcloud.github.com/visualsearch/ - VisualSearch.js enhances ordinary search boxes with the ability to autocomplete faceted search queries. Specify the facets for completion, along with the completable values for any facet. You can retrieve the search query as a structured object, so you don't have to parse the query string yourself.
http://pixelmatrixdesign.com/uniform/ - Style for checkboxes, drop down menus, radio buttons, and file upload inputs
http://gsgd.co.uk/sandbox/jquery/easing/ - A jQuery plugin from GSGD to give advanced easing options.
http://imakewebthings.github.com/jquery-waypoints/ - Waypoints is a small jQuery plugin that makes it easy to execute a function whenever you scroll to an element.

Templating
http://icanhazjs.com/ - Simple & powerful client-side templating for jQuery or Zepto.js

MVC / MVVM
http://knockoutjs.com/ - Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM)
http://documentcloud.github.com/backbone/ - Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

Other
http://sugarjs.com/ - Sugar is a Javascript library for working with native objects. It is designed to be intuitive, unobtrusive, and let you do more with less code.
http://code.google.com/p/closure-inspector/ - A development extension to Firebug for working with Closure Library and Closure Compiler