Skip to main content

Tools & Libraries

info

this page from: iwanjunaid

A curated list of awesome JavaScript frameworks, libraries, tools and resources.

Web Frameworks​

  • AngularJS - HTML enhanced for web apps. AngularJS lets you extend HTML vocabulary for your application.
  • Ember.js - A framework for creating ambitious web applications.
  • Express - Fast, unopinionated, minimalist web framework for Node.js.
  • Koa - Next generation web framework for Node.js.
  • Meteor - The JavaScript App Platform. Build apps that are a delight to use, faster than you ever thought possible.
  • Meatier - A Meteor alternative. Like Meteor but Meatier.
  • Derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
  • Backbone.js - Give your JS app some Backbone with Models, Views, Collections, and Events.
  • Marionette - Simplifies your Backbone application code with robust views and architecture solutions.
  • Hapi - A rich framework for building applications and services. It enables developers to focus on writing reusable application logic instead of spending time building infrastructure.
  • Diet - A tiny, fast and modular node.js web framework. Good for making fast & scalable apps and apis.
  • Sails.js - Realtime MVC framework for Node.js.
  • LoopBack - LoopBack is a highly-extensible, open-source Node.js framework for quickly create dynamic end-to-end REST APIs.
  • AquaJS - A Node.js Framework for your next API development. It gives you a quick and organized way to start developing an application.
  • Restify - Node.js REST framework specifically meant for web service APIs.
  • Aurelia - A JavaScript client framework for mobile, desktop and web leveraging simple conventions and empowering creativity.
  • Total.js - Free web application framework for building Web sites and Web applications using JavaScript, HTML and CSS. Node.js (HMVC) web application framework.
  • MERN - A scaffolding tool which makes it easy to build isomorphic apps using Mongo, Express, React and NodeJS.
  • MEAN - An opinionated fullstack javascript framework (MongoDB, Express, Angular and Node.JS) - which simplifies and accelerates web application development.

UI Libraries​

  • React - A JavaScript library for building user interfaces using components, virtual DOM and implements one-way reactive data flow.
  • Preact - Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
  • Vue.js - Reactive components for modern web interfaces.

Mobile​

  • React Native - A framework for building native apps using React.

UI Interaction Libraries​

  • Hammer.js - A javascript library for multi-touch gestures.
  • Slick - The last carousel you'll ever need.

Package Managers and Sources​

  • NPM - Node Package Manager.
  • Atmosphere - The trusted source for Meteor packages.

Process Manager​

  • PM2 - Production process manager for Node.js applications with a built-in load balancer.
  • Forever - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
  • nodemon - Monitor for any changes in your node.js application and automatically restart the server - perfect for development.
  • node-supervisor - A little supervisor script for nodejs. It runs your program, and watches for code changes, so you can have hot-code reloading-ish behavior, without worrying about memory leaks and making sure you clean up all the inter-module references, and without a whole new require system.

Control Flow​

  • Async - A utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.
  • q - A tool for creating and composing asynchronous promises in JavaScript.
  • Bluebird - A full featured promise library with unmatched performance.
  • When.js - A solid, fast Promises/A+ and when() implementation, plus other async goodies.
  • Co - The ultimate generator based flow-control goodness for nodejs (supports thunks, promises, etc).

DOM​

  • jQuery - Fast, small, and feature-rich JavaScript library.
  • Zepto - A minimalist JavaScript library for modern browsers with a largely jQuery-compatible API.
  • Cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.

Real-time​

  • Socket.io - The fastest and most reliable real-time engine. Works on every platform, browser or device, focusing equally on reliability and speed.
  • Deepstream.io - A clusterable server that provides everything necessary to build powerful realtime applications.
  • Faye - A publish-subscribe messaging system based on the Bayeux protocol.
  • Primus - The creator god of transformers but now also known as universal wrapper for real-time frameworks.
  • SocketCluster - Highly scalable realtime microframework.

Testing​

  • Mocha - A feature-rich JavaScript test framework running on Node.js and the browser, making asynchronous testing simple and fun.
  • Jest - A delightful JavaScript Testing Framework with a focus on simplicity.
  • Jasmine - A Behavior Driven Development testing framework for JavaScript. It's suited for websites, Node.js projects, or anywhere that JavaScript can run.
  • Vorlon.JS - An open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io.
  • Nightwatch.js - Write End-to-End tests in Node.js quickly and effortlessly that run against a Selenium server.
  • Chai - A BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.
  • Intern - Software testing for humans.
  • QUnit - A powerful, easy-to-use JavaScript unit testing framework. It's used by the jQuery, jQuery UI and jQuery Mobile projects and is capable of testing any generic JavaScript code, including itself!
  • CodeceptJS - Modern era acceptance testing for Node.js.

Logging​

  • Pino - Very low overhead Node.js logger, inspired by Bunyan.
  • Winston - A multi-transport async logging library for Node.js.
  • Bunyan - A simple and fast JSON logging module for Node.js services.

Profiling​

  • Clinic.js - Tools to help diagnose and pinpoint Node.js performance issues.
  • 0x - Single-command flamegraph profiling.

CLI​

  • Vorpal - A framework that makes it easy to build mature, immersive command-line applications in JavaScript.
  • Inquirer.js - A collection of common interactive command line user interfaces.
  • Cash - A cross-platform implementation of Unix shell commands written in pure ES6.
  • how2 - Stackoverflow from the terminal.

ORM​

  • Sequelize - A promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.
  • Bookshelf.js - A JavaScript ORM for Node.js, built on the Knex SQL query builder.
  • Objection.js - An SQL-friendly ORM for Node.js

Migration​

  • migrate - Abstract migration framework for node.

HTTP​

  • Request - Simplified HTTP request client.
  • SuperAgent - A small progressive client-side HTTP request library, and Node.js module with the same API, sporting many high-level HTTP client features.
  • Nock - HTTP mocking and expectations library.
  • node-http-proxy - A full-featured http proxy for Node.js.
  • http-server - A simple zero-configuration command-line http server.

Network​

Email​

  • Nodemailer - Send e-mails with Node.JS – easy as cake!
  • emailjs - Send emails, html and attachments (files, streams and strings) from node.js to any smtp server
  • node-imap - An IMAP client module for Node.js.

SSH​

  • SSH2 - SSH2 client and server modules written in pure JavaScript for Node.js.

FTP​

  • node-ftp - An FTP client module for Node.js.

Torrent​

  • Torrent - Download torrents with node from the CLI.

Git​

  • NodeGit - Native Node bindings to Git.

Functional Programming​

  • Underscrore - JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects.
  • Lodash - A modern JavaScript utility library delivering modularity, performance, & extras.
  • Lazy.js - Similar to Underscore and Lodash, but with an underlying engine that supports many more use cases than those libraries, while offering comparable or superior performance in most scenarios.
  • Vitals - Do more with less. A simple, high-performing, functional JavaScript library.

Regular Expression​

  • VerbalExpressions - A JavaScript library that helps to construct difficult regular expressions.

String​

  • Chance - A minimalist generator of random strings, numbers, etc. to help reduce some monotony particularly while writing automated tests or anywhere else you need anything random.
  • faker.js - Generate massive amounts of fake data in Node.js and the browser.

Number​

  • Accounting.js - A tiny JavaScript library providing simple and advanced number, money and currency formatting.
  • Numeral.js - A javascript library for formatting and manipulating numbers.

Date​

  • Moment.js - Parse, validate, manipulate, and display dates in JavaScript.
  • Date - Date for humans.

Math​

  • Math.js - An extensive math library for JavaScript and Node.js
  • NumJs - A npm/bower package for scientific computing with JavaScript.

Data Structure​

  • Buckets - A complete, fully tested and documented data structure library written in pure JavaScript.
  • TreeModel - Manipulate and traverse tree-like structures in javascript.

WYSIWYG​

  • MediumEditor - Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution.
  • ContentTools - A JS library for building WYSIWYG editors for HTML content.

ASCII​

  • blessed - A curses-like library with a high level terminal interface API for node.js.
  • blessed-contrib - Build dashboards (or any other application) using ascii/ansi art and javascript.
  • oo-ascii-tree - Renders ASCII trees from an object-oriented object graph.

Linter​

  • ESLint - The pluggable linting utility for JavaScript and JSX.
  • JSLint - The JavaScript code quality tool.

Editors​

  • NTVS - A free, open source plugin that turns Visual Studio into a Node.js IDE. It is designed, developed, and supported by Microsoft and the community.
  • Abricotine - A markdown editor for desktop.

Blog Engine​

  • Ghost - An open source publishing platform which is beautifully designed, easy to use, and free for everyone.
  • Hexo.io - A fast, simple & powerful blog framework.

CMS​

  • Relax - New generation CMS on top of React, Redux and GraphQL.

Social Media​

  • fb-sleep - Use Facebook to track your friends’ sleeping habits.

Animation​

  • mo.js - Motion graphics toolbelt for the web.

Data Visualization​

  • D3.js - A JavaScript library for manipulating documents based on data and helps you bring data to life using HTML, SVG, and CSS.
  • Sigma - A JavaScript library dedicated to graph drawing.
  • Timesheet.js - JavaScript library for HTML5 & CSS3 time sheets.

Data Processing​

  • EclairJS - Node.js API for Apache Spark with Remote Client.

Keyboard​

  • Mousetrap - A simple library for handling keyboard shortcuts in Javascript.
  • Keymaster - A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.

PDF​

  • PDFkit - A JavaScript PDF generation library for Node and the browser.
  • PDF.js - A Portable Document Format (PDF) viewer that is built with HTML5.
  • pdfmake - Client/server side PDF printing in pure JavaScript.

Image Processing​

  • CamanJS - A combination of a simple-to-use interface with advanced and efficient image/canvas editing techniques.
  • Jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.

Audio​

  • SoundJS - A JavaScript library that provides a simple API, and powerful features to make working with audio a breeze.
  • JuliusJS - A speech recognition library for the web.

Video​

Robotics and IoT​

  • Johnny-Five - The JavaScript robotics programming framework.
  • Cylon.js - Next generation robotics framework with support for 43 different platforms.
  • Node-RED - A tool for wiring together hardware devices, APIs and online services in new and interesting ways.

Science​

Satellite​

  • Himawari - Download real-time images of Earth from the Himawari-8 satellite.

Miscellaneous Libraries​

  • is.js - Micro check library.

Desktop App​

  • N1 - An open-source mail client built on the modern web with Electron, React, and Flux.
  • Wmail - The missing desktop client for Gmail & Google Inbox. Bringing the Gmail & Google Inbox experience to your desktop in a neatly packaged app.

Resources​

Courses​

  • Free Code Camp - An open source community that helps you learn to code and help nonprofits.

Lessons​

Tips and Tricks​

  • ES6 Cheatsheet - A cheatsheet containing ES2015 (ES6) tips, tricks, best practices and code snippet examples for your day to day workflow.
  • JS Tips - This is about one JS tip every day!
  • JavaScript Style - Airbnb JavaScript style guide.

Web Reference​

  • Mozilla Developer Network - The official Mozilla Foundation website for development documentation of web standards and Mozilla projects.

Books​