GithubHelp home page GithubHelp logo

awesome-app-js's Introduction

Awesome JavaScript libraries Awesome

This document lists javascript libraries that I use. I also strongly recommend you to read these two ressources about JavaSript : You Dont Know JS (a book series exploring the parts of JavaScript that we all think we understand but don't really know) and Functional Light JS (a book about functional programming in JavaScript). In the same spirit, I recommend you to read the wtfjs listing funny and tricky JavaScript examples. Let's build something great ! βš’

Template engine

Name Description Install Compatibility
Vue.js Simple, Fast & Composable MVVM for building interactive interfaces npm i -S vue Coverage
React A declarative, efficient, and flexible JavaScript library for building user interfaces. npm i -S react Coverage
React Native A framework for building native apps with React. npm i -S react-native Coverage
mustache.js Minimal templating with {{mustaches}} in JavaScript npm i -S mustache Coverage

Deployment

Name Description Install Compatibility
now-cli The command line interface for Now. Realtime global deployments served over HTTP/2. npm i -g now Coverage
pkg Package your Node.js project into an executable npm i -g pkg Coverage
release Generate changelogs with a single command. When run, this command line interface automatically generates a new GitHub Release and populates it with the changes (commits) made since the last release. npm i -g release Coverage
strapi Strapi is an open source solution to create, deploy and manage your own API. It provides a powerful dashboard and features to make your life easier. npm i strapi -g Coverage

App generator

Name Description Install Compatibility
electron-packager Customize and package your Electron app with OS-specific bundles (.app, .exe etc) via JS or CLI npm i -S electron-packager Coverage
vue-cli Simple CLI for scaffolding Vue.js projects npm i -g vue-cli Coverage
react-app CLI tools and templates for authoring React applications with a single dev dependency and no configurations npm i -g react-app Coverage
react-native A framework for building native apps with React. npm i -g react-native-cli Coverage
yo CLI tool for running Yeoman generators npm i -g yo Coverage
update-notifier Update notifications for your CLI app npm i -S update-notifier Coverage
Caporal.js A full-featured framework for building command line applications (cli) with node.js npm i -S caporal Coverage
lerna A tool for managing JavaScript projects with multiple packages. npm i -g lerna Coverage
crudl CRUDL is a backend agnostic REST and GraphQL based admin interface RTFM Coverage

DOM rendering

Name Description Install Compatibility
bulma Modern CSS framework based on Flexbox npm i -S bulma Coverage
fitty Makes text fit perfectly npm i -S fitty Coverage
twig.js JS implementation of the Twig Templating Language npm i -S twig Coverage
material-design-lite Material Design Components in HTML/CSS/JS RTFM Coverage
vue-material Material design for Vue.js npm i -S vue-material Coverage
vue-mdc Material web components for Vue.js npm i -S vue-mdc Coverage

Routing

Name Description Install Compatibility
vue-router The official router for Vue.js. npm i -S vue-router Coverage
Crossroads It parses a string input and decides which action should npm i -S crossroads Coverage
Hasher Set of JavaScript functions to control browser history for rich-media websites and applications. npm i -S hasher Coverage

Communication

Name Description Install Compatibility
js-signals similar to an Event Emitter/Dispatcher or a Pub/Sub system npm i -S signals Coverage
Socket.io server Socket.IO enables real-time bidirectional event-based communication npm i -S socket.io Coverage
Socket.io client Socket.IO enables real-time bidirectional event-based communication npm i -S socket.io-client Coverage
Spacebro Server for broadcasting socket.io service npm i -S spacebro Coverage
Spacebro client Connect thru socket.io with ZeroConf npm i -S spacebro-client Coverage
across-tabs Easy communication between cross-origin browser tabs npm i -S across-tabs Coverage

Process manager

Name Description Install Compatibility
PM2 Production process manager for Node.js apps with a built-in load balancer npm i pm2 -g Coverage
forever A simple CLI tool for ensuring that a given script runs continuously npm i forever -g Coverage

Request

Name Description Install Compatibility
Superagent small progressive client-side HTTP request library, and Node.js module with the same API, sporting many high-level HTTP client features npm i -S superagent Coverage

Caching

Name Description Install Compatibility
Superagent-cache Superagent with built-in, customizable caching npm i -S superagent-cache Coverage

Persistent data

Name Description Install Compatibility
Native LocalStorage The localStorage property allows you to access a local Storage object. Window.localStorage Coverage
Lawnchair Simple json storage npm i -S lawnchair Coverage
Linvodb3 Model-oriented embedded database, inspired by Mongoose & MongoDB, over LevelUP npm i -S linvodb3 Coverage
dotenv Loads environment variables from .env. npm i -S dotenv Coverage
nconf Hierarchical node.js configuration with files, environment variables, command-line arguments, and atomic object merging. npm i -S nconf Coverage
vuefire Firebase bindings for Vue.js npm i vue firebase vuefire -S Coverage
vuex Centralized State Management for Vue.js npm i -S vuex Coverage
redux Predictable state container for JavaScript apps npm i -S redux Coverage
store.js A localStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood npm i -S store Coverage
express-graphql Create a GraphQL HTTP server with Express npm i -S express-graphql Coverage

REST API

Name Description Install Compatibility
node-wpapi A WordPress REST API client for JavaScript. This library is an isomorphic client for the WordPress REST API, designed to work with WordPress 4.7 or later. If you are using the older WP REST API plugin, some commands will not work. npm i -S wpapi Coverage
json-server Get a full fake REST API with zero coding in less than 30 seconds (seriously) npm i json-server -g Coverage

Chatbot

Name Description Install Compatibility
react-simple-chatbot Easy way to create conversation chats npm i -S react-simple-chatbot Coverage

Animation

Name Description Install Compatibility
GSAP Think of GSAP as the Swiss Army Knife of web animation...but better npm i -S gsap Coverage
Tween Super simple, fast and easy to use tweening engine npm i -S tween.js Coverage
granim.js Create fluid and interactive gradients animations npm i -S granim Coverage
Lottie Lottie is an iOS, Android, and React Native library that renders After Effects animations in real time, allowing apps to use animations as easily as they use static images. Install BodyMovin Coverage
barba.js Create badass, fluid and smooth transition between your website's pages. npm i -S barba.js Coverage

Image manipulation

Name Description Install Compatibility
Fabric.js Play with the canvas. Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser npm i -S fabric Coverage
RgbQuant Color quantization lib npm i -S rgbquant Coverage
Javascript-Load-Image JavaScript Load Image is a library to load images provided as File or Blob objects or via URL npm i -S blueimp-load-image Coverage
RetinaJS Open source script that serves high-resolution images to devices with retina displays npm i -S retina.js Coverage
palette-maker Palette Maker is an interactive web tool that allows you to explore different approaches to extract color palettes from images npm i -S palette-maker Coverage
qart.js Generate artistic QR code. npm i -S qartjs Coverage
blurify Tiny library to blurred pictures, support graceful downgrade from css mode to canvas mode. npm i -S blurify Coverage
dom-to-image Generates an image from a DOM node using HTML5 canvas npm i -S dom-to-image Coverage

Video playback

Name Description Install Compatibility
VideoJS An HTML5 and Flash video player with a common API and skin for both npm i -S videojs Coverage

Audio playback

Name Description Install Compatibility
audio5 Audio5js a library-agnostic, cross-browser Javascript API for HTML5 Audio, with a Flash fallback for either older browsers or modern browsers without MP3 playback support. npm i -S audio5 Coverage
webmidi WebMidi.js helps you tame the Web MIDI API. Send and receive MIDI messages with ease. Control instruments with user-friendly functions (playNote, sendPitchBend, etc.). React to MIDI input with simple event listeners (noteon, pitchbend, controlchange, etc.). npm i -S webmidi Coverage

Grid

Name Description Install Compatibility
spacegrid A no-frills responsive grid layout to help you get started on your next project. npm i -S spacegrid Coverage

Parallax

Name Description Install Compatibility
rellax Lightweight, vanilla javascript parallax library npm i -S rellax Coverage

Slider

Name Description Install Compatibility
Lory Touch enabled minimalistic slider written in vanilla JavaScript npm i -S lory.js Coverage
PhotoSwipe JavaScript image gallery for mobile and desktop, modular, framework independent npm i -S photoswipe Coverage
Swiper Most modern mobile touch slider with hardware accelerated transitions npm i -S swiper Coverage
Siema Lightweight and simple carousel with no dependencies npm i -S siema Coverage

Sprite animation

Name Description Install Compatibility
spritesheet.js Command-line spritesheet generator supporting Starling / Sparrow, PIXI.js, Easel.js and cocos2d spritesheet-js assets/*.png Coverage
sprite-anim Simple spritesheet animation engine. npm i -S sprite-anim Coverage

Drag and drop

Name Description Install Compatibility
interact.js JavaScript drag and drop, resizing and multi-touch gestures with inertia and snapping for modern browsers (and also IE8+). npm i -S interactjs Coverage
Dragula Drag and drop so simple it hurts npm i -S dragula Coverage
Vue.Draggable Vue component allowing drag-and-drop sorting in sync with View-Model. Based on Sortable.js npm i -S vuedraggable Coverage

Helpers

Name Description Install Compatibility
vue-migration-helper CLI tool to aid in migration from Vue 1.x to 2.0. npm i -g vue-migration-helper Coverage
vue-help Vue.js API in the Terminal npm i -g vue-help Coverage

Mailing

Name Description Install Compatibility
nodemailer Send e-mails from Node.js easy as cake! The community version of Nodemailer is a module for Node.js applications to allow email sending. The project got started back in 2010 when there was no sane option to send email messages, today it is the solution most Node.js users turn to by default. npm i -S nodemailer Coverage
bojler Bojler is an email framework for developing responsive and lightweight email templates that will render correctly across each of the most popular email clients. RTFM Coverage

Rendering

Name Description Install Compatibility
Three JavaScript 3D library npm i -S three Β Coverage
whitestorm.js Super-fast 3D framework for web applications and games npm i -S whs Coverage
Pixi Pixi.js is a fast lightweight 2D library that works across all devices npm i -S pixi.js Coverage
p5.js p5.js is a JavaScript library that starts with the original goal of Processing, to make coding accessible for artists, designers, educators, and beginners, and reinterprets this for today's web. npm i -S p5 Coverage
webgl-heatmap A high performance WebGL/JS heatmap display library npm i -S webgl-heatmap Coverage

Virtual and Augmented Reality

Name Description Install Compatibility
A-Frame A web framework for building virtual reality experiences. A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift. npm i -S aframe Β Coverage
AR.js Efficient Augmented Reality for the Web using ARToolKit (a-frame and Three.js compatibilities) Β Coverage

Effects

Name Description Install Compatibility
Seriously A real-time, node-based video effects compositor for the web built with HTML5, Javascript and WebGL Coverage
StackBlur Fast and almost Gaussian blur npm i -S stackblur-canvas Coverage
typewriterjs A simple yet powerful native javascript plugin for a cool typewriter effect npm i -S typewriterjs Coverage

Recording

Name Description Install Compatibility
Html2canvas The script allows you to take "screenshots" of webpages or parts of it, directly on the users browser npm i -S html2canvas Coverage
Animated_gif Javascript library for creating animated GIFs npm i -S animated_gif Β Coverage
CCapture A library to capture canvas-based animations at a fixed framerate npm i -S ccapture.js Coverage
Videojs-record video.js plugin for recording audio/video/image files npm i -S videojs-record Β Coverage
Gif.js JavaScript GIF encoder that runs in your browser npm i -S gif.js Coverage

Inputs

Name Description Install Compatibility
vue-picture-input Mobile-friendly picture file input Vue.js component with image preview, drag and drop, EXIF orientation, and more npm i -S vue-picture-input Coverage
Hammer A javascript library for multi-touch gestures. You can touch this ! npm i -S hammerjs Coverage
Piano Virtual keyboard for touch devices npm i -S piano.js Coverage
SerialPort2 node.js serial port driver npm i -S serialport2 Coverage
USB Improved USB library for NodeJS npm i -S usb Coverage
Keyboard Keyboard as an object in the DOM npm i -S keyboard Β Coverage
Cheet Easy easter eggs (konami code, etc) for your site npm i -S cheet.js Coverage
Mousetrap Simple library for handling keyboard shortcuts npm i -S mousetrap Coverage
Hamsterjs Standalone javascript library for cross-browser mouse wheel support npm i -S hamsterjs Coverage
vue-multiselect Probably the most complete selecting solution for Vue.js, without jQuery. npm i -S vue-multiselect Coverage
tokenfield Input field with tagging/token/chip capabilities written in raw JavaScript. npm i -S tokenfield Coverage
vue-flatpickr Flatpickr for VueJS. npm i -S vue-flatpickr Coverage

Camera

Name Description Install Compatibility
WebcamJS HTML5 Webcam Image Capture Library with Flash Fallback npm i -S webcamjs Coverage

Signal processing

Name Description Install Compatibility
Clmtrackr Javascript library for precise tracking of facial features via Constrained Local Models import 'clmtrackr.js' Β Coverage
Jsfeat JavaScript Computer Vision library npm i -S clmtrackr.js Coverage

System

Name Description Install Compatibility
fs-extra Node.js extra methods for the fs object like copy(), remove(), mkdirs() npm i -S fs-extra Coverage

Emoji

Name Description Install Compatibility
emojione Emojione is the open emoji standard. The web's first and only complete open source emoji set. It is 100% free and super easy to integrate. npm i -S emojione Coverage

Tooling

Name Description Install Compatibility
lodash Rotates the elements of an array in place. npm i -S lodash Coverage
rotate-array utility library delivering modularity, performance, & extras to play with Arrays, Collection and more npm i -S rotate-array Coverage
Idle.js Script to create handlers for onIdle onActive onHidden onShow statuses, compatible with <script> tag and webpack npm i -S idle-js Coverage
StringJS JavaScript library for the browser or for Node.js that provides extra String methodsΒ  npm i -S stringΒ  Coverage
Offline Automatically display online/offline indication to your users Coverage
PerfectScroll minimalistic scrollbar plugin working with jQuery or vanilla JavaScript as well. npm i -S perfect-scrollbar Coverage
vue-loop Infinite content loop for Vue npm i -S vue-loop Coverage
tippyjs A lightweight, pure JS tooltip library npm i -S tippy.js Coverage
Moment Parse, validate, manipulate, and display dates in javascript npm i -S moment Coverage
Signature_pad HTML5 canvas based smooth signature drawing npm i -S signature_pad Coverage
Dat-Gui A lightweight graphical user interface for changing variables in JavaScript npm i -S dat-gui Coverage
Enquire a lightweight, pure JavaScript library for responding to CSS media queries npm i -S enquire.js Coverage
Modernizr Automatically detects the availability of next-generation web technologies in your user's browsers npm i -S -g modernizr Coverage
Verge Compact set of cross-browser viewport utilities written in native JavaScript Β  npm i -S verge Β Coverage
Sizzle A pure-JavaScript, bottom-up CSS selector engine designed to be easily dropped in to a host library npm i -S sizzle Coverage
vue-online A reactive online/offline component for vue.js npm i --save-dev vue-online Coverage
opn A better node-open. Opens stuff like websites, files, executables. Cross-platform. npm i -S opn Coverage
inquirer.js A collection of common interactive command line user interfaces. npm i -S inquirer Coverage
deepmerge A library for deep (recursive) merging of Javascript objects npm i -S deepmerge Coverage
flat Flatten/unflatten nested Javascript objects npm i -S flat Coverage
q A promise library for JavaScript npm i -S q Coverage
vue-instantsearch Algolia components for building search UIs with Vue.js npm i -S vue-instantsearch Coverage
meow CLI app helper npm i -S meow Coverage

PDF

Name Description Install Compatibility
Pdfmake A lightweight graphical user interface for changing variables in JavaScript npm i -S pdfmake Coverage
pdf-bot A Node queue API for generating PDFs using headless Chrome. Comes with a CLI, S3 storage and webhooks for notifying subscribers about generated PDFs npm i -g pdf-bot Coverage

Perf

Name Description Install Compatibility
Rstats.js rStats aims to provide a way of measuring and visualizing performance of your code, mainly in apps based on an update loop, like games or interactive experiences. npm i -S rstats.js Coverage
Stats.js JavaScript Performance Monitor npm i -S stats.js Coverage

Tracking

Name Description Install Compatibility
Amplitude A node wrapper for Amplitude analytics npm i -S amplitude Coverage
GATracks Easily track user events with Google Analytics. Test UI/UX theories, compare client performance/speed, even track client-side errors. All user events are tied to all other session data in Google Analytics. npm i -S gatrack Coverage

Social network

Name Description Install Compatibility
Twit Twitter API client for node (REST & Streaming) npm i -S twit Coverage
Instagram-node NodeJS driver for the instagram API npm i -S instagram-node Coverage
Fb With facebook-node-sdk you can now easily write the same code and share between your server (nodejs) and the client (Facebook Javascript SDK) npm i -S fb Coverage

Data visualization

Name Description Install Compatibility
D3 D3 is a JavaScript library for visualizing data using web standards. D3 helps you bring data to life using SVG, Canvas and HTML. D3 combines powerful visualization and interaction techniques with a data-driven approach to DOM manipulation, giving you the full capabilities of modern browsers and the freedom to design the right visual interface for your data. npm i -S d3 Coverage
ggraph Graph visualization of big messy data. This is a library built on top D3 with the goal of improving how we work with large and messy graphs. It extends the notion of nodes and links with groups of nodes. This is useful when multiple nodes are in fact the same thing or belong to the same group. npm i -S ggraph Coverage
dejavue Visualization and debugging tool built for Vue.js Chrome Web Store Coverage
fmt-obj Prettifies any javascript object in your console. Make it look awesome! npm i -S fmt-obj Coverage
cli-color Colors and formatting for the console npm i -S cli-color Coverage
devtool Runs Node.js programs through Chromium DevTools (using Electron) npm i -g devtool Coverage
vue-trend Simple, elegant spark lines for Vue.js npm i -S vuetrend Coverage
vue-json-tree-view A JSON Tree View Component for Vue.js npm i -S vue-json-tree-view Coverage
renderjson Render JSON into collapsible HTML npm i -S renderjson Coverage
pts Compose and visualize points in spaces npm i -S pts Coverage
deck.gl WebGL based visualization layers npm i -S deck.gl Coverage

Tiers service

Name Description Install Compatibility
Mandrill JS wrapper for mandrill API. Mandrill is a transactional email API for MailChimp users. It's reliable, powerful, and ideal for sending data-driven emails, including targeted e-commerce and personalized one-to-one messages. npm i -S mandrill-api Coverage
download-git-repo Download and extract a git repository (GitHub, GitLab, Bitbucket) from node. npm i -S download-git-repo Coverage
git-js A light weight interface for running git commands in any node.js application. npm i -S simple-git Coverage

Translations

Name Description Install Compatibility
i18next internationalization ecosystem framework, i18next is a very popular internationalization library for browser or any other javascript environment (eg. node.js). npm i -S i18next Coverage
vue-i18n Internationalization plugin of Vue.js npm i -S vue-i18n Coverage

Fonts

Name Description Install Compatibility
typefaces NPM packages for Open Source typefaces β€” making it easier to self-host webfonts. npm i -S typeface-myopensourcefont Coverage
icongram Icons on the fly RTFM Coverage
inter The Inter UI font family RTFM Coverage

Credits

This is inspired from the list of Soixante Circuits. Most credit goes to them! πŸ‘

awesome-app-js's People

Contributors

pierrechls avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.