Awesome app
This document list all the javascript libs used at Soixante circuits . They are compatible with Webpack and run in the browser and / or node only.
So far 71 libs.
There are tons of libs out there. You certainly not need them all. For sure it's a pain to test, check, and push the limit of each of them when you start a new project. To ease the process of development, we decided to stick to some of the libs we really enjoyed to use. They are selected because they did not fail our test and have been use in website or in application for clients and for internal projects. All of them are under the MIT licence .
Every month we test the ease of use, the learning curve, the maintenance of these libs. We won't reinvent the wheel so lets keep improving and focus our energy on the libs that already exist.
This list respects the Single Responsibility Principle . This means each of them do something chirurgically and do it well. When you build your project you will not need them all :)
This list is maintened continuously and serves as a startup prompt for Neodymium Generator .
Neodymium allows to built interactive applications fast and without any pain. It brings Webpack and tested set of libs out of the box, tested in production ready projects.
Let's build something great ! ⚒
Routing
Name
Description
install
Trend
Compat
Authored
Crossroads
It parses a string input and decides which action should
npm i -S crossroads
Hasher
Set of functions to control browser history
npm i -S hasher
Communication
Name
Description
install
Trend
Compat
Authored
Signals.js
similar to an Event Emitter/Dispatcher or a Pub/Sub system
npm i -S signals
Socket.io/server
Socket.IO enables real-time bidirectional event-based communication
npm i -S socket.io
Socket.io/client
Socket.IO enables real-time bidirectional event-based communication
npm i -S socket.io-client
Spacebro
Server for broadcasting socket.io service
npm i -S spacebro
Spacebro client
Connect thru socket.io with ZeroConf
npm i -S spacebro-client
Request
Name
Description
install
Trend
Compat
Authored
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
Caching
Name
Description
install
Trend
Compat
Authored
Bitfrost
Bifrost cache and queue your POST request when internet is down. It will try to forward your query to the desired endpoint, if it fail it will save the POST data and try to update them periodically. It will forward the response as it is.
Superagent-cache
Superagent with built-in, customizable caching
npm i -S superagent-cache`
Persistent data
Name
Description
install
Trend
Compat
Authored
Native LocalStorage
RTFM
Lawnchair
simple json storage
npm i -S lawnchair
Linvodb3
Model-oriented embedded database, inspired by Mongoose & MongoDB, over LevelUP
npm i -S linvodb3
State machine
Name
Description
install
Trend
Compat
Authored
Machina
A library for creating powerful and flexible finite state machines
npm i -S machina
Animation
Name
Description
install
Trend
Compat
Authored
GSAP
Think of GSAP as the Swiss Army Knife of web animation...but better
npm i -S gsap
Tween
Super simple, fast and easy to use tweening engine
npm i -S tween.js
elementTransitions
Simple transitions for web pages
Image manipulation
Name
Description
install
Trend
Compat
Authored
Fabric.js
Play with the canvas
npm i -S fabric-browserify
Resizer(burno.js)
Resize elements inside containers according to many possible options
Zooming
Zooms
RgbQuant
color quantization lib
npm i -S rgbquant
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
Image-scale needs to be made JQueryless
Scale images to fit or fill any target container via two simple properties: scale and align.
npm i -S image-scale
RetinaJS
open source script that serves high-resolution images to devices with retina displays
npm i -S retina.js
Video playback
Name
Description
install
Trend
Compat
Authored
VideoJS
An HTML5 and Flash video player with a common API and skin for both
npm i -S videojs
Audio playback
Name
Description
install
Trend
Compat
Authored
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
Slider
Name
Description
install
Trend
Compat
Authored
Lory
Touch enabled minimalistic slider written in vanilla JavaScript
npm i -S lory.js
PhotoSwipe
JavaScript image gallery for mobile and desktop, modular, framework independent
npm i -S photoswipe
Swiper
Most modern mobile touch slider with hardware accelerated transitions
npm i -S swiper
Sprite animation
Name
Description
install
Trend
Compat
Authored
Motio
Small JavaScript library for sprite based animations and panning
spritesheet.js
Command-line spritesheet generator supporting Starling / Sparrow, PIXI.js, Easel.js and cocos2d
sprite-anim
Simple spritesheet animation engine.
npm i -S sprite-anim
Template engine
Name
Description
install
Trend
Compat
Authored
Vue.js
Simple, Fast & Composable MVVM for building interactive interfaces
npm i -S vue
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
npm i -S react
DOM playing
Name
Description
install
Trend
Compat
Authored
drag-drop
HTML5 drag & drop for humans
npm i -S drag-drop
Dragula
👌 Drag and drop so simple it hurts
npm i -S dragula
Rendering
Name
Description
install
Trend
Compat
Authored
Three
JavaScript 3D library
npm i -S three
Pixi
Pixi.js is a fast lightweight 2D library that works across all devices
npm i -S pixi.js
Effects
Name
Description
install
Trend
Compat
Authored
Seriously
A real-time, node-based video effects compositor for the web built with HTML5, Javascript and WebGL
StackBlur
Fast and almost Gaussian blur
npm i -S stackblur-canvas
Recording
Name
Description
install
Trend
Compat
Authored
Html2canvas
The script allows you to take "screenshots" of webpages or parts of it, directly on the users browser
npm i -S html2canvas
Animated_gif
Javascript library for creating animated GIFs
npm i -S animated_gif
CCapture
A library to capture canvas-based animations at a fixed framerate
Videojs-record
video.js plugin for recording audio/video/image files
npm i -S videojs-record
Gif.js
JavaScript GIF encoder that runs in your browser
npm i -S gif.js
Inputs
Name
Description
install
Trend
Compat
Authored
Hammer
A javascript library for multi-touch gestures :// You can touch this
npm i -S hammerjs
Piano
Virtual keyboard for touch devices
SerialPort2
node.js serial port driver
npm i -S serialport2
USB
Improved USB library for NodeJS
npm i -S usb
Keyboard
Keyboard as an object in the DOM
npm i -S keyboard
Cheet
easy easter eggs (konami code, etc) for your site
npm i -S cheet.js
Mousetrap
Simdle library for handling keyboard shortcuts
npm i -S mousetrap
Hamsterjs
standalone javascript library for cross-browser mouse wheel support
npm i -S hamsterjs
vue-multiselect
Probably the most complete selecting solution for Vue.js, without jQuery.
npm i -S vue-multiselect
Camera
Name
Description
install
Trend
Compat
Authored
WebcamJS
HTML5 Webcam Image Capture Library with Flash Fallback
npm i -S webcamjs
Signal processing
Name
Description
install
Trend
Compat
Authored
Clmtrackr
Javascript library for precise tracking of facial features via Constrained Local Models
Jsfeat
JavaScript Computer Vision library
System
Name
Description
install
Trend
Compat
Authored
fs-extra
extra methods for the fs object like copy(), remove(), mkdirs()
npm i -S fs-extra
Emoji
Tooling
Name
Description
install
Trend
Compat
Authored
lodash
Rotates the elements of an array in place.
npm i -S lodash
lodash
utility library delivering modularity, performance, & extras to play with Arrays, Collection and more
npm i -S rotate-array
Idle.js
Script to create handlers for onIdle onActive onHidden onShow statuses, compatible with <script>
tag and webpack
npm i -S idle-js
StringJS
JavaScript library for the browser or for Node.js that provides extra String methods
npm i -S string
Offline
Automatically display online/offline indication to your users
PerfectScroll
minimalistic scrollbar plugin working with jQuery or vanilla JavaScript as well.
npm i -S perfect-scrollbar
Moment
Parse, validate, manipulate, and display dates in javascript
npm i -S moment
Signature_pad
HTML5 canvas based smooth signature drawing
npm i -S signature_pad
Dat-Gui
A lightweight graphical user interface for changing variables in JavaScript
npm i -S dat-gui
Enquire
a lightweight, pure JavaScript library for responding to CSS media queries
npm i -S enquire.js
Modernizr
Automatically detects the availability of next-generation web technologies in your user's browsers
npm i -S -g modernizr
Verge
compact set of cross-browser viewport utilities written in native JavaScript
npm i -S verge
Sizzle
A pure-JavaScript, bottom-up CSS selector engine designed to be easily dropped in to a host library
npm i -S sizzle
(might not be same team) (to test if automatic css prefixing)
Pdf
Name
Description
install
Trend
Compat
Authored
Pdfmake
A lightweight graphical user interface for changing variables in JavaScript
npm i -S pdfmake
Perf
Name
Description
install
Trend
Compat
Authored
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
Stats.js
JavaScript Performance Monitor
npm i -S stats.js
Tracking
Name
Description
install
Trend
Compat
Authored
Off Off
Allow to track clicks and touchend on a webapp
Amplitude
A node wrapper for Amplitude analytics
npm i -S amplitude
GATracks
Easily track user events with Google Analytics
npm i -S gatrack
Social network
Name
Description
install
Trend
Compat
Authored
Twit
Twitter API client for node (REST & Streaming)
npm i -S twit
Instagram-node
NodeJS driver for the instagram API
npm i -S instagram-node
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
Tiers service
Name
Description
install
Trend
Compat
Authored
Mandrill
JS wrapper for mandrill API
npm i -S mandrill-api
Translations
Name
Description
install
Trend
Compat
Authored
i18next
internationalization framework
npm i -S i18next
vue-i18n
Internationalization plugin of Vue.js
npm i -S vue-i18n
QR code
Name
Description
install
Trend
Compat
Authored
node-qrcode
QR code generator module, supporting multiple sets of characters and auto-generating optimized segments for best data compression and smallest QR Code size. Comes with a CLI. Best for server-side.
npm install -g qrcode
QRious
QRious is a pure JavaScript library for generating QR codes using HTML5 canvas. Best for client-side.
npm install --save qrious