JavaScript Framework | Library Back
The following table is generated as per the classification of JavaScript frameworks, or libraries which I have met or used.
Categories | |||
---|---|---|---|
MVVM, MVC, MV | Vue | React, Redux | Angular |
Google Closure | mobx (state management) | nerv | |
superfine (only view layer) | pjax (pushState + ajax) | svelte | |
Through Languages | alpine (js-in-html) | twin.macro (css-in-js) | |
Mobile (cross through platforms) | framework7 | ionic | react-native |
eletron | |||
Animation | GreenSock | Walkway | Dynamics |
svg.js | rellax (parallel scrolling) | anime | |
dynamics.js | particles.js (particle animations) | contour (drawing SVG) | |
sketch.js | |||
Bundle Tools | Webpack | parcel | vite |
esbuild (for pure ES module) | rollup | ||
Widgets | Interact | ScrollMagic | watermarks |
Sortable | PhotoSwipe | handsontablew | |
split | clientjs (device information) | downshift (input components based on React) | |
consola (console tools) | strip-indent | iframe-resizer | |
swiper (swiped banners) | imagesloaded (check image loading status) | keymaster (keyboard handler) | |
jquery-locationpicker-plugin | browserslist | jexcel (interactive tables like Excel) | |
Clamp.js (overflow ellipses) | react-dnd (Drag and Drop for React) | shake.js (shake event for mobiles) | |
iinkJS (handwriting recognition) | cropper, Croppie (image cropper) | react-easy-crop | |
Lint (or tools for conventions) | ESLint | jsdoc | husky, git-commit-message-convention, commitlint |
legally (Check Illegal NPM packages) | |||
Functional | jQuery | lodash | underscore |
rxjs | Classie | number-precision | |
Browser Compatibility | Modernizer | phatomjs (simulated browser environment for testing) | es3ify |
babel | |||
Node | csv-writer, csv-parser (csv) | iconv-lite (encoding) | node-glob, glob-stream |
node-properties | node-uuid | node-zip | |
glslify (for GLSL) | through2 (file stream) | fusuma (presentation tool with MDX) | |
emailjs-mime-builder, emailjs-mime-parser | utf8.js (utf8 encoder/decoder) | node-sketch | |
node-cache | node-sass | exceljs | |
speedracer (test performance for Node modules) | pkg (package executables) | devtool (run Node.js programs with Chromium DevTools) | |
chrome-remote-interface (Chrome Debugging Protocol interface or Node.s) | jsdiff (diff text) | falcor (for data fetching) | |
isomorphic-git (pure js for Git Operation) | svgexport (SVG to PNG/JPEG for Node) | remove-markdown (strip Markdown stuff from text) | |
cli-table | table | node-progress (progress bar for Node) | |
sheetjs | pako (zlib port for compression) | node-apn (for Apple Push notification) | |
EPromises (Extended Promises) | Turndown (HTML to Markdown) | image-to-ascii | |
node-canvas | simple-peer (WebRTC) | trianglify | |
exifr (EXIF parser) | Bree (job scheduler in Node) | ||
Servers | Express | Koa | fastify |
Syntax Highlight | pygments.js | prism | highlight.js |
Graphic (VR, AR etc.) | three.js (3D) | viro (AR and VR) | zdog |
d3, d3-graphiviz | aframe | tracking.js | |
gm (GraphicsMagick for Node) | sharp (based on Node) | html2canvas | |
rough (hand-drawn generation) | three.ar.js | pixi.js | |
VivGraphJS | mojs | Polyvia | |
tesseract.js (text extractor from images) | webvr-boilerplate (based on three.js) | konva (Canvas Framework) | |
canny-edge-detection | sigma.js | StackBlur (Gaussian Blur) | |
smartcrop.js | matter-js (physical graphic engine) | ||
Computer Vision | mediapipe (CV solutions with JavaScript) | anime4k (JS implementation of Anime4K) | |
Touch Handler | hammer.js | touchemulator | Touchy.js |
Color | TinyColor (color manipulation) | chromatism (utility functions for colors) | spectrum (color picker) |
Time | moment, moment-timezone | luxon (lightweight) | spacetime (lightweight) |
moment-duration-format (formatter for moment duration) | moment-lunar (plugin for Chinese lunar calendar) | ||
Video | video.js | flv.js (flv player) | ccapture.js (based on Canvas) |
jPlayer | Remotion (create video programmatically) | ||
Audio | howler.js | Rythm.js | aurora.js (audio decoding framework) |
flac.js | beats-audio-api | ||
Data Visualization | deck.gl | luma.gl | streetscape.gl |
echarts | grafana | Chart.js | |
fusioncharts-jquery-plugin | react-vis (based on React) | tensorboard (Visualization Toolkit for TensorFlow) | |
GoJS | |||
JavaScript Parser | acorn | UglifyJS | jstransform |
tenko (support ES6 - ES2020) | seafox (up to ES2021) | escaya (up to ES2021) | |
esprima | espree | ||
Markdown Parser | marked | unified, remark | remarkable |
markdown-it | |||
Security | retire.js | js-xss | crypto-js |
aes-js | DOMPurify | ||
Editor | simplemde-markdown-editor (Markdown) | kindeditor | react-ace (based on React) |
ace | monaco-editor (code) | react-page (based on React) | |
slate | ckeditor5 | ||
HTTP / Socket Client | ky (based on window.fetch) | socket.io-client | axios |
request | |||
Parsers | psd.js | htmlparser2 (HTML and XML) | mailparser (MIME parser) |
Data Training | brain.js | tfjs | |
Shim / Polyfill | raf (requestAnimationFrame) | json3 | core-estimator (navigator.hardwareConcurrency) |
core-js | ExplorerCanvas (simulated Canvas?) | history.js | |
Webpack Loaders / Plugins | loader-utils | handlebars-loader | css-split-webpack-plugin |
git-revision-webpack-plugin | vue-loader | mini-css-extract-plugin | |
postcss-loader | less-loader | eslint-loader | |
css-loader | webpack-dev-middleware | analyse (analyse building states) | |
ES3-compatible-webpack-plugin | sass-loader | html-webpack-plugin | |
copy-webpack-plugin | extract-text-webpack-plugin | webpack-bundle-analyzer | |
react-hot-loader | babel-loader | circular-dependency-plugin | |
Book | vuepress | docz | mdx-deck |
gitbook | wiki | eleventy-high-performance-blog (performance best practices) | |
UI | YUI | jquery-ui | element (based on Vue) |
ant-design (based on React) | bootstrap | wired-elements | |
Font-Awesome (icon toolkit) | material-ui | bumbag-ui (based on React) | |
Fluent-UI | tdesign | ||
Optimization | cssnano | uglify-js@2 | uglify-js@3 (uglify-es not maintained) |
css-blocks | prettier | clean-css | |
terser (ES6+) | babel-minify (Babel's toolchain) | optimize-js | |
javascript-obfuscator | |||
Template | nunjucks | handlebars.js | mustache.js |
ember.js | squirrelly | Pug | |
ejs | Nunjucks | backbonejs | |
marko | moustache.js | doT | |
hogan.js | Template7 (Mobile-first template engine) | ||
Test | mocha, chai | jest | jasmine, karma |
dom-testing-library | cypress (end to end) | puppeteer (end to end) | |
lighthouse (UX performance) | rrweb (record and replay) | playwright | |
Game Engines | cocos2d-js | hex-engine | phaser |
Package Management | npm | yarn | bower |
verdaccio (private npm proxy) | lerna (manage multiple packages in one project) | ||
Performance | fastdom (DOM performance enhancement) | ||
Encryption/Decryption | js-jsbn (RSA) | sm-crypto (SM2/SM3/SM4) | IDEA (IDEA cipher) |
Rendering | markmap (mind maps) | vexflow (stave) | KaTeX (math expressions) |
File System | webdav-client |
Note: strong links mean there are corresponding notes for those frameworks or libraries.
As the plugin is integrated with a code management system like GitLab or GitHub, you may have to auth with your account before leaving comments around this article.
Notice: This plugin has used Cookie to store your token with an expiration.