/awesome-js

A curated list of delightful JavaScript packages and resources.

Awesome-JS

A curated list of delightful JavaScript packages and resources.

Framework or Library

Web development or MVC

  • Angular - HTML enhanced for web apps!
  • React - A JavaScript Library For Building User Interfaces
  • Backbone - Backbone.js gives structure to web applications
  • Ember - A framework for creating ambitious web applications.
  • Spine - Lightweight MVC library for building JavaScript applications
  • Aurelia - A Framework that leverages simple conventions to empower your creativity
  • Ampersand - A highly modular, loosely coupled, non-frameworky framework
  • Knockout - Simplify dynamic JavaScript UIs with Model-View-View Model(MVVM) Pattern
  • Riotjs - A React- like, 3.5KB user interface library
  • winjs - A UI toolkit for modern browsers
  • chaplin - HTML5 application architecture using Backbone.js
  • openui5 - OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice
  • meteor - Meteor, an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.
  • Vue.js - Vue.js, JavaScript framework for building user interfaces.

DOM Manipulation

  • jQuery - jQuery JavaScript Library
  • ractive - Next-generation DOM manipulation
  • sizzle - A sizzlin' hot selector engine.
  • HTML - A simple, extensible way to work directly with the DOM.
  • minified.js - A lightweight library for the Web http://minifiedjs.com
  • dojo - The Dojo Toolkit core library.
  • mootools - MooTools Core Repository
  • prototype - Prototype JavaScript framework
  • yui3 - A library for building richly interactive web applications.

Hybrid Development

  • ionic - Advanced HTML5 mobile development framework and SDK
  • OnsenUI - Custom Elements-Based HTML5 UI Framework for Building Your Mobile Front End
  • mobile-angular-ui - Angular.js Mobile UI Framework with Bootstrap 3
  • app - Instant mobile web app creation
  • jquery-mobile - jQuery Mobile Framework
  • Lunga.js - A framework for developers who want to design, build and share cross device applications.
  • The-M-Project - 'The-M-Project' is a Mobile HTML5 Application Framework.
  • Framework7 - Full Featured HTML Framework For Building iOS Apps
  • jo - Jo (0.5.0) is a thin (~16K) candy shell for making HTML5 apps.
  • junior - A front-end framework for building html5 mobile apps with a native look and feel.
  • openui5 - OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice
  • loopback
  • chocolatechip-ui - Mobile Web App Framework
  • ratchet - Build mobile apps with simple HTML, CSS, and JavaScript components.

Desktop Tool

  • electron - Build cross platform desktop apps with web technologies
  • nw.js - Call all Node.js modules directly from DOM and enable a new way of writing applications with all Web technologies

Mobile Related

  • Swipe - Swipe is the most accurate touch slider.
  • Snap.js - A Library for creating beautiful mobile shelfs in Javascript

Canvas Manipulation

SVG Manipulation

  • Raphael - Simplify your work with vector graphics on the web

Graphics or data visualization

  • ProcessingJS - A port of the Processing Visualization Language
  • D3 - JavaScript library for manipulating documents based on data
  • vega - A visualization grammar.
  • Leaflet - JavaScript library for mobile-friendly interactive maps
  • polymaps - Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers.
  • raw - The missing link between spreadsheets and vector graphics
  • dygraphs - Interactive visualizations of time series using JavaScript and the HTML canvas tag
  • lumify - open source big data integration, analytics, and visualization
  • recline - A simple but powerful library for building data applications in pure Javascript and HTML.
  • kartograph.js - Open source JavaScript renderer for Kartograph SVG maps
  • envisionjs - Dynamic HTML5 visualization
  • exhibit - Publishing Framework for Large-Scale Data-Rich Interactive Web Pages
  • modestmaps-js - Modest Maps javascript port
  • jit - The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web
  • crossfilter - Fast n-dimensional filtering and grouping of records.
  • nodebox - Interactive, hackable graphic design application

Charts

  • flot - Attractive JavaScript charts for jQuery
  • chartist-js - Simple responsive charts
  • Chart.js - Simple HTML5 Charts using the <canvas> tag
  • echarts - Enterprise Charts | Github pages
  • c3 - A D3-based reusable chart library
  • dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
  • charted - A charting tool that produces automatic, shareable charts from any data file
  • Sigma - A JavaScript library dedicated to graph drawing
  • nvd3 - A reusable charting library written in d3.js
  • d3.chart - A framework for creating reusable charts with d3.js
  • arbor - a graph visualization library using web workers and jQuery
  • ol3 - OpenLayers 3

Inline Editor

  • medium.js - A tiny JavaScript library for making contenteditable beautiful (Like Medium's editor)
  • Medium Editor - Uses contenteditable API to implement a rich text solution.
  • Ace - Ace (Ajax.org Cloud9 Editor)
  • CodeMirror - In-browser code editor
  • quill - A cross browser rich text editor with an API
  • pen - enjoy live editing (+markdown)
  • EpicEditor - An Embeddable JavaScript Markdown Editor

Parser

  • PDFJS - PDF Reader in JavaScript
  • esprima - ECMAScript parsing infrastructure for multipurpose analysis
  • acorn - A small, fast, JavaScript-based JavaScript parser
  • shift-parser-js - ECMAScript parser that produces a Shift format AST
  • PapaParse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input
  • jBinary - High-level API for working with binary data.
  • plyr - A simple HTML5, YouTube and Vimeo player

Game Development or Webgl

  • Phaser - A framework for desktop/mobile web browsers, supporting Canvas and WebGL rendering
  • three.js - JavaScript 3D library

Just Awesome

  • Impress - framework based on the power of CSS3 transforms and transitions in modern browsers
  • Clusterise - Tiny vanilla JS plugin to display large data sets easily
  • semantic-ui - Semantic is a UI component framework based around useful principles from natural language.
  • Snap.js - A Library for creating beautiful mobile shelfs in Javascript (Facebook and Path style side menus)
  • Behave.js - A lightweight, cross browser library for adding IDE style behaviors to plain text areas
  • zoom.js - Medium's Image Zoom for jQuery
  • underscore.js - JavaScript's utility _ belt
  • pdf.js - PDF Reader in JavaScript
  • hammer.js - A javascript library for multi-touch gestures
  • Tangle - a JavaScript library for reactive documents
  • page.js - Micro client-side router inspired by the Express router
  • TimelineJS - TimelineJS: A Storytelling Timeline built in JavaScript.
  • highlight.js - Javascript syntax highlighter
  • prism - Lightweight, robust, elegant syntax highlighting.

Functional Programming

  • Underscore - JavaScript's utility _ belt
  • Lodash - A JavaScript utility library delivering consistency, modularity, performance, & extras.
  • lazy.js - Like Underscore, but lazier

Date

  • moment - Parse, validate, manipulate, and display dates in javascript
  • xdate - A Modern JavaScript Date Library
  • Datejs - A JavaScript Date Library
  • Timeago - Timeago is a jQuery plugin that makes it easy to support automatically updating fuzzy timestamps

Math

  • Math.js - An extensive math library for JavaScript and Node.js
  • Numeral-js - A javascript library for formatting and manipulating numbers.
  • numbers.js - Advanced Mathematics Library for Node.js and JavaScript
  • sylvester - Vector, matrix and geometry math JavaScript
  • science.js - Scientific and statistical computing in JavaScript
  • bignumber.js - A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic

Testing

  • testem - Test'em 'Scripts! A test runner that makes Javascript unit testing fun.
  • jasmine - DOM-less simple JavaScript testing framework
  • qunit - An easy-to-use JavaScript Unit Testing framework.
  • mocha - mocha - simple, flexible, fun javascript test framework for node.js & the browser.
  • buster - A powerful suite of automated test tools for JavaScript.
  • phantomjs - Scriptable Headless WebKit
  • jest - Painless JavaScript Unit Testing built on top of the Jasmine test framework.
  • karma - Spectacular Test Runner for JavaScript

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, Yashprit Singh has waived all copyright and related or neighboring rights to this work.