Simplified JavaScript Jargon (short SJSJ) is a community-driven attempt at explaining the loads of buzzwords making the current JavaScript ecosystem in a few simple words. The idea is not to replace individual documentations, but to act as some kind of glossary that can be easily referenced.
If you are willing to contribute, open a pull request to complete, update or fill in a section. Thank you for doing so!
Note: while this project is fully readable from this GitHub repository, you can also enjoy the dedicated website featuring a shiny design and a search engine: jargon.js.org.
CoffeeScript: a language that compiles into JavaScript.
CommonJS: a project with the goal of specifying an ecosystem for JavaScript outside the browser (for example, on the server or for native desktop applications).
CORS: a way for a server to make things accessible to pages hosted on other domains.
CouchDB: a NoSQL database with JavaScript as query language and HTTP as API.
Currying: the process to transform a function with multiple parameters into a chain of functions of one parameter.
D3.js: a library for manipulating documents based on data.
Design Patterns: a general reusable solution to a commonly occurring problem within a given context in software design.
DOM: a platform- and language-neutral interface that allow programs and scripts to dynamically access and update the content, structure and style of documents.
E
ECMAScript: the standardized specification of the scripting language used by JavaScript.
Electron: a framework based on Node.js lets you write cross-platform desktop applications using JS, HTML and CSS.
Ember: an application framework based on the model-view-controller pattern.
Enzyme: a JavaScript Testing utility for React developed by AirBnB that makes it easier to assert, manipulate, and traverse React components’ output.
Express: a fast, un-opinionated, minimalist web framework for Node.js.
Ext JS: a pure JavaScript application framework for building interactive cross platform web applications.
F
Facade Pattern: a software design pattern commonly used with object-oriented programming. The name is by analogy to an architectural facade.
Factory Pattern: a creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created.
Falcor: a JavaScript library for efficient data fetching.
Flow: a static type checker, designed to find type errors in JavaScript programs.
Flux: an application structure focusing on improved data flow.
Four: a framework to develop 3D content for the web.
G
GraphQL: a query language for APIs and a runtime for fulfilling those queries with your existing data.
Grunt: a task runner aiming at automating tedious and possibly complex tasks.
Gulp: a task runner aiming at automating tedious and possibly complex tasks.
H
Hapi: a Node JS framework for writing services and more.
Hoisting: an action performed by the JavaScript interpreter that moves function and variable declarations to the top of their containing scope.
I
IIFE (Immediately Invoked Function Expression): a function that gets called immediately after declaration.
Ionic: a HTML5 mobile framework to build beautiful hybrid native mobile applications using AngularJS and Cordova.
Isomorphic: an application is said to be isomorphic (universal) when its code can run both in the client and the server.
J
Jasmine: a testing framework for BDD (Behaviour-Driven Development).
Knockout: a library that helps developers creating user interfaces with a clean underlying data model.
L
LocalForage: a fast and simple storage library for JavaScript.
Lodash: a utility toolkit to extend JavaScript primitive types.
M
MEAN: the technology stack MongoDB, ExpressJS, AngularJS, and Node.js (MEAN).
Mediator Pattern: an object that encapsulates how a set of objects interact.
Memoize: an optimization used to speed up consecutive function calls by caching the result of calls with identical input.
Metalsmith: a simple, pluggable static site generator.
Meteor: a JavaScript web framework that allows rapid prototypic web development.
Mocha: an extensible testing framework for TDD (Test-Driven Development) or BDD (Behaviour-Driven Development).
Modernizr: a browser feature detection library, useful to modify page styles when a feature is not available in the browser.
Module Pattern: a design pattern used to implement the concept of software modules, defined by modular programming, in a programming language with incomplete direct support for the concept.
Moment.js: a library to parse, validate, manipulate and display dates.
Mootools: a collection of JavaScript utilities designed for the intermediate to advanced JavaScript developer. It allows you to write powerful and flexible code with its elegant, well documented, and coherent APIs.
N
Nightmare: a high-level browser automation library.
NightwatchJS: a framework for browser automated testing.
Node.js: a cross-platform runtime environment for developing server-side applications built on V8 engine.
npm: a utility to help publishing packages to, and installing from, an npm repository.
nvm: a utility to help run multiple versions of Node.js on the same machine.
O
Observer Pattern: a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
P
Passport.js: a simple authentication middleware for Node.js.
PhantomJS: a scripted, headless browser used for automating web page interaction.
Polymer: Google’s library for creating Web Components.
PostCSS: a tool to transform CSS styles using JavaScript plugins; plugins include autoprefixer, future CSS transpiling, CSS linting and media queries.
Promise: a proxy for a value not necessarily known immediately but that will eventually be resolved.
Prototype.js: a JavaScript framework that aims to ease development of dynamic web applications. It offers a familiar class-style OO framework, extensive Ajax support, higher-order programming constructs, and easy DOM manipulation.
Prototype Pattern: a creational design pattern in software development. It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.
Puppeteer: a Node library providing a high-level API to control headless Chrome.
Pure Function: a function that always returns the same value for a given input, never modifies its inputs, and cannot obeserve or affect state in its application or the world.
Require.js: a browser based module loader using AMD.
Revealing Module Pattern: a design pattern conceptually based on the Module Pattern. The only difference is that the revealing module pattern was engineered as a way to ensure that all methods and variables are kept private until they are explicitly exposed.
rnpm: a package manager to ease React Native development by automatically linking native dependencies to your iOS/Android project.
RxJS: a library for asynchronous programming using observable streams.
Singleton Pattern: a design pattern that restricts the instantiation of a class to one object.
T
Three.js: a lightweight 3D library to create and display animated 3D computer graphics on a Web browser.
TypeScript: a super-set of the JavaScript language that introduces types.
U
UMD: a pattern of universal module definition for JavaScript modules.
Underscore: a swiss army knife, focusing on helper methods for most built-in objects.
Universal: an application is said to be universal (isomorphic) when its code can run both in the client and the server.
V
V8: Google’s open source JavaScript engine. It’s what Chrome is running, but it’s also used for other projects like Node.js and MongoDB.
Vanilla: a term for library/framework free JavaScript.
Virtual DOM: a copy of the DOM in memory that the program can modify instead of directly interfacing with the "real" DOM to help speed up interactions
VueJS: a library for creating user interfaces based on data models.
W
WebGL (Web Graphics Library): a JavaScript API for rendering interactive 3D and 2D graphics within any compatible web browser without the use of plug-ins.
Webpack: a dependency manager with a friendly and fast development environment, simplifying a lot of common tasks.
X
XHR: XMLHttpRequest is an API that provides client functionality for transferring data between a client and a server without page refresh.
Y
Yeoman: a generator builder to speed up the setup and installation process of a project or part of a project.
Z
Zepto: a lightweight jQuery clone, without all the browser-compatibility specific code.
Export entries as JSON
This repository includes a tiny Node.js script that exports all the entries as JSON. To use it, clone the repository and run:
npm install
npm run export -- data.json
Special thanks
A special thanks to Bohdan Shtepan and Kostas Minaidis (amongst others) for there outstanding contributions to make this project more and more relevant every day!
请发表评论