A list of related terms used throughout the documentation.


Bundling is the process of taking an app's dependencies (code you've written plus any npm modules installed) and compiling/transpiling them down to one single file.


A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt.


CommonJS is a group that defines standard formats for JavaScript APIs. They have defined standards for JavaScript modules and packages.


CORS (Cross-Origin Resource Sharing) is a mechanism for servers to control client access to web assets.


ES5 refers to EcmaScript 5th Edition. A simple way to put it is that ES5 is the version of JavaScript which developers are most familiar with today.


A wide range of new features were introduced in this version of JavaScript, including classes, modules, iterators, and promises. Evergreen browsers (Chrome, Safari, Firefox and Edge) have full support for ES6, but to use ES6 features in older browsers, tools such as Babel and TypeScript have to transpile ES6 code down to ES5.


This version of JavaScript added a number of new features to the language, including Array.includes and the exponentiation operator. This version of JavaScript is fully supported by all evergreen browsers (Chrome, Safari, Firefox and Edge)


This version of JavaScript is the latest standard. It is currently in the final stage before becoming the new official standard. This spec includes Async/Await (already in all evergreen browsers) and shared memory/atomics.


Git is a distributed version control system for managing code. It allows development teams to contribute code to the same project without causing code conflicts.

ES Modules

ES Modules brings the concept of modules natively to JavaScript. With modules, classes and variables are no longer in the global scope and have to be explicitly imported into your project to be used. This makes it much easier to understand where your code is coming from and increases modularity and compartmentalization of functionality.


Modules in JavaScript are small, independent, and reusable pieces or code that are isolated from one another and the Global scope.


Node is a runtime environment that allows JavaScript to be written on the server-side. In addition to being used for web services, node is often used to build developer tools.


npm is the package manager for node. It allows developers to install, share, and package node modules.


An observable is an object that emits events (or notifications). An observer is an object that listens for these events, and does something when an event is received. Together, they create a pattern that can be used for programming asynchronously.


A polyfill is a bit of code that adds functionality to the browser and normalizes browser differences. This is similar to a shim, but where a shim has it's own API, a polyfill let's the expect API of the browser be used.

CSS Variables

You may be familiar with variables from Sass. CSS Variables enable the same functionality but are built into the browser. CSS Variables are available in all evergreen browsers.


Sass is a stylesheet language that compiles to CSS and is used by Ionic. Sass is like CSS, but with extra features such as variables, mixins, and loops.


A shim is a piece of code that normalizes an APIs across browsers. A shim can have it's own API that hides the browser specific implementation from the end user.


Transpilation is the process of converting code from one language to another language prior to execution. Typically, a transpiler will convert a high-level language to another high-level language.


TypeScript is a superset of JavaScript, which means it gives you JavaScript, along with a number of extra features such as type declarations and interfaces.


Webpack bundles together JavaScript modules and other assets. It can be used to create single or multiple "chunks" that are only loaded when needed. Webpack can be used to take many files and dependencies and bundle them into one file, or other types.

Web Standards

The World Wide Web Consortium (W3C) is the standards organization for the Web. Together, industry leaders and the public work together to develop web standards, which are a set of protocols, specifications, and technologies that define the Web Platform.

Last Updated: 8/22/2019, 5:46:31 PM
MIT Licensed | Copyright © 2019-present Nishkal Kashyap