AMD is a way to implement JavaScript modules that are loaded asynchronously while being able to depend on other libraries or modules.
define(['jquery', 'something'], function ($, something) {
// Define the module value by returning a value
// `jquery` and `something` are dependencies of this module
return function () {
// Do something
};
});
AMD was primarily developed for the client-side (i.e. browser) only, not for backend purposes. RequireJS is the most prominent implementation of the AMD method.