Skip to main content
The 2024 Developer Survey results are live! See the results

AngularJS is an open-source JavaScript framework. Its goal is to augment browser-based applications with Model–View–* (MVW, MVVM, MVC) capability and reduce the amount of JavaScript needed to make web applications functional. These types of apps are also frequently known as Single-Page Applications.

AngularJS is an open-source JavaScript framework for building CRUD-centric AJAX-style web applications. Its goal is to shim the browser to augment the HTML vocabulary with directives useful for building dynamic web applications. The next version is 2.0.

Angular ships with directives which add two-way data binding, DOM control and unrolling, code-behind DOM, form validation, and deep linking.

AngularJS was developed and is maintained by Google, and is used internally by 1600+ apps. The initial release took place in 2009.

AngularJS's Philosophy

  • The AngularJS philosophy encourages developers to create their own directives, turning the HTML into a DSL suited to building their kind of application. The result significantly reduces the amount and complexity of JavaScript needed to build web applications.
  • The AngularJS philosophy is that UI is best described in declarative form (HTML), and that behavior is best described in imperative form (JavaScript) and that the two should never meet.
  • The AngularJS philosophy encourages developers to design their client architecture using advanced software principals like dependency injection, separation of concerns, testability, and a file structure.

Notable features

  • Teach your browser new tricks by adding behavior to HTML tags/attributes
  • Controllers provide code-behind DOM with clear separation from the view
  • Two-way data binding without the need to extend or wrap the model objects
  • Dependency injection assembles the application without 'main' method
  • Promises/futures remove many callbacks from code when communicating with server
  • Directives
  • Views and routes
  • Filters
  • Form validation
  • Strong focus on testability
  • Extend HTML with your own behavior
  • Angular uses spinal-case for its custom attributes and camelCase for the corresponding directives which implement them