- developed to unify the browser and the server
- supports both AMD and CommonJS modules
- the way it works is essentially passing your module to an IIFE that determines the environment to produce the appropriate type of module
script
tags.define
and require
to asynchronously request files from the server (based on paths you define in dependency list, or in config)