2014-07-13 18:50:09 +08:00
2014-07-13 18:50:09 +08:00

Awesome JavaScript

A curated list of amazingly awesome browser-side JavaScript libraries, resources and shiny things.

Package Managers

Host the javascript libraries and provide tools for fetching and packaging them.

  • Bower - A package manager for the web.
  • component - Client package management for building better web applications.
  • spm - Brand new static package manger.
  • browserify - Browser-side require() the node.js way.
  • jam - A package manager using a browser-focused and RequireJS compatible repository.
  • yepnope.js - An Asynchronous Conditional Resource Loader.
  • jspm - Frictionless browser package management.
  • Ender - The no-library library.
  • volo - Create front end projects from templates, add dependencies, and automate the resulting projects.

Loaders

Module or loading system for JavaScript.

  • RequireJS - A file and module loader for JavaScript.
  • SeaJS - A Module Loader for the Web.
  • HeadJS - The only script in your HEAD.
  • curl - A small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts.
  • lazyload - Tiny, dependency-free async JavaScript and CSS loader.
  • script.js - Asyncronous JavaScript loader and dependency manager.

Testing Frameworks

  • mocha - Simple, flexible, fun javascript test framework for node.js & the browser.
  • jasmine - DOM-less simple JavaScript testing framework.
  • qunit - An easy-to-use JavaScript Unit Testing framework.
  • chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
  • Sinon.JS - Test spies, stubs and mocks for JavaScript.
  • expect.js - Minimalistic BDD-style assertions for Node.JS and the browser.
  • istanbul - Yet another JS code coverage tool.
  • blanket - A simple code coverage library for javascript. Designed to be easy to install and use, for both browser and nodejs.
  • JSCover - JSCover is a tool that measures code coverage for JavaScript programs.
  • phantomjs - Scriptable Headless WebKit.
  • slimerjs - A PhantomJS-like tool running Gecko.
  • casperjs - Navigation scripting & testing utility for PhantomJS and SlimerJS.
  • zombie - Insanely fast, full-stack, headless browser testing using node.js.
  • totoro - A simple and stable cross-browser testing tool.
  • karma - Spectacular Test Runner for JavaScript.
  • jest - Painless Javascript Unit Testing.

MVC Frameworks

  • angular.js - HTML enhanced for web apps.
  • backbone - Give your JS App some Backbone with Models, Views, Collections, and Events.
  • ember.js - A JavaScript framework for creating ambitious web applications.
  • ractive - Next-generation DOM manipulation.
  • vue - Intuitive, fast & composable MVVM for building interactive interfaces.
  • knockout - Knockout makes it easier to create rich, responsive UIs with JavaScript.
  • spine - Lightweight MVC library for building JavaScript applications.
  • canjs - Can do JS, better, faster, easier.

Templating Engines

Templating engines allow you to perform string interpolation.

  • mustache.js - Minimal templating with {{mustaches}} in JavaScript.
  • handlebars.js - An extension to the Mustache templating language.
  • hogan.js - A compiler for the Mustache templating language.
  • doT - The fastest + concise javascript template engine for nodejs and browsers.
  • dustjs - Asynchronous templates for the browser and node.js.
  • eco - Embedded CoffeeScript templates.
  • JavaScript-Templates - < 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies.
  • t.js - A tiny javascript templating framework in ~400 bytes gzipped.

Data Visualization

Data visualization tools for the web.

  • d3 - A JavaScript visualization library for HTML and SVG.
  • Chart.js - Simple HTML5 Charts using the tag.
  • paper.js - The Swiss Army Knife of Vector Graphics Scripting Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
  • peity - Progressive bar, line and pie charts.
  • raphael - JavaScript Vector Library.
  • echarts - Enterprise Charts.
  • vis - Dynamic, browser-based visualization library.
  • two.js - A renderer agnostic two-dimensional drawing api for the web.
  • g.raphael - Charts for Raphaël.
  • sigma.js - A JavaScript library dedicated to graph drawing.
  • arbor - A graph visualization library using web workers and jQuery.
  • cubism - A D3 plugin for visualizing time series.
  • dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
  • vega - A visualization grammar.
  • envisionjs - Dynamic HTML5 visualization.
  • rickshaw - JavaScript toolkit for creating interactive real-time graphs.
  • flot - Attractive JavaScript charts for jQuery.
  • morris.js - Pretty time-series line graphs.
  • nvd3 - Build re-usable charts and chart components for d3.js
  • svg.js - A lightweight library for manipulating and animating SVG.
  • heatmap.js - JavaScript Library for HTML5 canvas based heatmaps.
  • jquery.sparkline - A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser.
  • xCharts - A D3-based library for building custom charts and graphs.
  • trianglify - Low poly style background generator with d3.js
  • d3-cloud - Create word clouds in JavaScript.
  • d4 - A friendly reusable charts DSL for D3.
  • dimple.js - Easy charts for business analytics powered by d3

There're also some great commercial libraries, like amchart and highchart.

Editors

  • ace - Ace (Ajax.org Cloud9 Editor).
  • CodeMirror - In-browser code editor.
  • esprima - ECMAScript parsing infrastructure for multipurpose analysis.
  • quill - A cross browser rich text editor with an API.
  • medium-editor - Medium.com WYSIWYG editor clone.
  • pen - enjoy live editing (+markdown).
  • jquery-notebook - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
  • bootstrap-wysiwyg - Tiny bootstrap-compatible WISWYG rich text editor.
  • ckeditor-releases - The best web text editor for everyone.
  • editor - A markdown editor. still on development.
  • EpicEditor - An embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more.
  • jsoneditor - A web-based tool to view, edit and format JSON.

Functional Programming

Functional programming libraries to extend JavaScripts capabilities.

  • underscore - JavaScript's utility _ belt.
  • lodash - A utility library delivering consistency, customization, performance, & extras.
  • Sugar - A Javascript library for working with native objects.
  • lazy.js - Like Underscore, but lazier.

Date

Date Libraries.

  • moment - Parse, validate, manipulate, and display dates in javascript.
  • moment-timezone - Timezone support for moment.js.
  • jquery-timeago - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
  • timezone-js - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data.

String

String Libraries.

  • underscore.string - String manipulation extensions for Underscore.js javascript library.
  • string.js - Extra JavaScript string methods.
  • he - A robust HTML entity encoder/decoder written in JavaScript.
  • multiline - Multiline strings in JavaScript.
  • query-string - Parse and stringify URL query strings.
  • URI.js - Javascript URL mutation library.
  • jsurl - Lightweight URL manipulation with JavaScript.
  • sprintf.js - A sprintf implementation.

Storage

  • store.js - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
  • localForage - Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API.
  • jStorage - jStorage is a simple key/value database to store data on browser side.
  • basket.js - A script and resource loader for caching & loading scripts with localStorage.
  • jquery-cookie - A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
  • Cookies - JavaScript Client-Side Cookie Manipulation Library.

Color

  • randomColor - A color generator for JavaScript.
  • chroma.js - JavaScript library for all kinds of color manipulations.
  • color - JavaScript color conversion and manipulation library.
  • colors - Smarter defaults for colors on the web.

I18n And L10n

Localization (i18n) and internationalization (l10n) JavaScript libraries.

Class

  • klass - A utility for creating expressive classes in JavaScript.
  • augment - The world's smallest and fastest classical JavaScript inheritance pattern.

Control Flow

  • async - Async utilities for node and the browser.
  • q - A tool for making and composing asynchronous promises in JavaScript.
  • step - An async control-flow library that makes stepping through logic easy.

Routing

  • director - A tiny and isomorphic URL router for JavaScript.
  • page.js - Micro client-side router inspired by the Express router (~1200 bytes).
  • pathjs - Simple, lightweight routing for web browsers.
  • crossroads - JavaScript Routes.
  • davis.js - RESTful degradable JavaScript routing using pushState.

Loading Status

Libraries for indicate load status.

  • NProgress - Slim progress bars for Ajax'y applications.
  • Spin.js - A spinning activity indicator.
  • progress.js - Create and manage progress bar for every objects on the page.
  • pace - Automatically add a progress bar to your site.
  • topbar - Tiny & beautiful site-wide progress indicator.
  • nanobar - Very lighweight progress bars. No jQuery.
  • PageLoadingEffects - Modern ways of revealing new content using SVG animations.
  • css-loaders - A collection of loading spinners animated with CSS.

Besides libraries, there're Collection on Codepen, and generators like Ajaxload, Preloaders and CSSLoad.

Validation

  • Parsley.js - Validate your forms, frontend, without writing a single line of javascript.
  • jquery-validation - jQuery Validation Plugin.
  • validator.js - String validation and sanitization.
  • validate.js - Lightweight JavaScript form validation library inspired by CodeIgniter.

Keyboard Wrappers

  • mousetrap - Simple library for handling keyboard shortcuts in Javascript.
  • keymaster - A simple micro-library for defining and dispatching keyboard shortcuts.
  • Keypress - A keyboard input capturing utility in which any key can be a modifier key.
  • KeyboardJS - A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
  • jquery.hotkeys - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination.
  • jwerty - Awesome handling of keyboard events.

Tours And Guides

  • intro.js - A better way for new feature introduction and step-by-step users guide for your website and project.
  • shepherd - Guide your users through a tour of your app.
  • bootstrap-tour - Quick and easy product tours with Twitter Bootstrap Popovers.
  • tourist - Simple, flexible tours for your app.
  • chardin.js - Simple overlay instructions for your apps.
  • pageguide - An interactive guide for web page elements using jQuery and CSS3.
  • hopscotch - A framework to make it easy for developers to add product tours to their pages.
  • joyride - jQuery feature tour plugin.

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Description
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
Readme 15 MiB
Languages
Markdown 100%