Asynchronous module definition

From Wiki @ Karl Jones dot com
Jump to: navigation, search

Asynchronous module definition (AMD) is a JavaScript specification that defines an API for defining code modules and their dependencies, and loading them asynchronously if desired.

Description

Benefits of AMD include:

  • Website performance improvements.
    • AMD implementations load smaller JavaScript files, and only load them when they're needed.
  • Fewer page errors.
    • AMD implementations allow developers to define dependencies that must load before a module is executed, so the module doesn't try to use outside code that isn't yet available.

In addition to loading multiple JavaScript files at runtime, AMD implementations allow developers to encapsulate code in smaller, more logically-organized files in a way similar to other programming languages such as Java.

For production and deployment, developers can concatenate and minify JavaScript modules based on an AMD API into one file, the same as traditional JavaScript.

The AMD specification is implemented by Dojo Toolkit, RequireJS, and ScriptManJS.

See also

External links