Jump to content

AngularJS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Reaverdrop (talk | contribs)
→‎The Zen of Angular: style, POV, verbosity
Reaverdrop (talk | contribs)
m non-links
Line 16: Line 16:
'''AngularJS''' is an [[Open-source software|open-source]] [[JavaScript]] framework. Its goal is to augment browser-based applications with [[Model–View–Controller]] (MVC) capability, reduce the amount of JavaScript needed to make web applications functional. These type of apps are also known as [[Single-page_application|Single-Page Applications]]
'''AngularJS''' is an [[Open-source software|open-source]] [[JavaScript]] framework. Its goal is to augment browser-based applications with [[Model–View–Controller]] (MVC) capability, reduce the amount of JavaScript needed to make web applications functional. These type of apps are also known as [[Single-page_application|Single-Page Applications]]


Originally created in 2009 by [[Miško Hevery]] and [[Adam Abrons]] as the front end for an online [[JSON]] storage service that would have been priced by the mega-byte system for easy-to-make applications for the enterprise. This venture was positioned as "GetAngular.com" and had some signed-up users. The Way Back Machine has snapshots from Q3 2009, but these days the website redirects to 'angular.org', given Angular's intention to fit anyone's JSON serving and receiving backend.
Originally created in 2009 by Miško Hevery and Adam Abrons as the front end for an online [[JSON]] storage service that would have been priced by the mega-byte system for easy-to-make applications for the enterprise. This venture was positioned as "GetAngular.com" and had some signed-up users. The Way Back Machine has snapshots from Q3 2009, but these days the website redirects to 'angular.org', given Angular's intention to fit anyone's JSON serving and receiving backend.


The technology re-writes a page that a browser has loaded. At one level it re-reads the source of the page and obeys directives. At another level it binds input or output parts of the page to a models represented in a vanilla JavaScript variable. Those JavaScript variables can be manually composed or retrieved over the wire from static or dynamic JSON resources. The page language is a superset of HTML. Extra attributes exist to support Angular directives and with Angular's library loaded these are acted upon. Without Angular loaded the extra attributes are typically ignored by current and modern browsers.
The technology re-writes a page that a browser has loaded. At one level it re-reads the source of the page and obeys directives. At another level it binds input or output parts of the page to a models represented in a vanilla JavaScript variable. Those JavaScript variables can be manually composed or retrieved over the wire from static or dynamic JSON resources. The page language is a superset of HTML. Extra attributes exist to support Angular directives and with Angular's library loaded these are acted upon. Without Angular loaded the extra attributes are typically ignored by current and modern browsers.

Revision as of 17:37, 4 August 2012

AngularJS
Developer(s)Google Inc. and community.
Initial release2009 (2009)
Stable release
1.0.1 / June 25, 2012; 12 years ago (2012-06-25)
Repository
Written inJavaScript
Operating systemCross-platform
LicenseMIT License
Websitewww.angularjs.org

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

Originally created in 2009 by Miško Hevery and Adam Abrons as the front end for an online JSON storage service that would have been priced by the mega-byte system for easy-to-make applications for the enterprise. This venture was positioned as "GetAngular.com" and had some signed-up users. The Way Back Machine has snapshots from Q3 2009, but these days the website redirects to 'angular.org', given Angular's intention to fit anyone's JSON serving and receiving backend.

The technology re-writes a page that a browser has loaded. At one level it re-reads the source of the page and obeys directives. At another level it binds input or output parts of the page to a models represented in a vanilla JavaScript variable. Those JavaScript variables can be manually composed or retrieved over the wire from static or dynamic JSON resources. The page language is a superset of HTML. Extra attributes exist to support Angular directives and with Angular's library loaded these are acted upon. Without Angular loaded the extra attributes are typically ignored by current and modern browsers.

The Philosophy of Angular

Angular is built around the belief that declarative code is better than imperative when it comes to building UIs and wiring software components together, while imperative code is excellent for expressing business logic.

Design goals:

  • Decouple DOM manipulation from app logic. This improves the testability of the code.
  • Regard app testing as equal in importance to app writing. Testing difficulty is dramatically affected by the way the code is structured.
  • Decouple the client side of an app from the server side. This allows development work to progress in parallel, and allows for reuse of both sides.
  • Guide developers through the entire journey of building an app: from designing the UI, through writing the business logic, to testing.
  • Make common tasks trivial and difficult tasks possible.

Notable Angular Directives

ng-repeat

Instantiate an element once per item from a collection.

ng-show & ng-hide

Conditionally show or hide an element, depending on the value of a boolean expression.

ng-switch

Conditionally instantiate one template from a set of choices, depending on the value a selection expression.

Development Team

Adam Abrons and Miško Hevery developed the first version together in 2009. Adam was a freelancer, and Miško a Googler at the time, both in the San Francisco Bay area. Adam has stepped away from the project for the time being and works at Square in San Francisco (full time). Miško continues with Angular with new co-developers Igor Minár, and Vojta Jína, who like Miško work at Google and were also born in Czechoslovakia.

Releases

  • Jun 25, 2012 - 1.0.1 thorium-shielding
  • Jun 13, 2012 - 1.0 - temporal-domination
  • Jun 12, 2012 - 1.0.0rc12 - "regression-extermination"
  • Jun 11, 2012 - 1.0.0rc11 - "promise-resolution"
  • May 24, 2012 - 1.0.0rc10 - "tesseract-giftwrapping"
  • May 15, 2012 - 1.0.0rc9 - "eggplant-teleportation"
  • May 6, 2012 - 1.0.0rc8 - "blooming-touch"
  • Apr 30, 2012 - 1.0.0rc7 - "rc-generation"
  • Apr 20, 2012 - 1.0.0rc6 - "runny-nose"
  • Apr 12, 2012 - 1.0.0rc5 - "reality-distortion"
  • Apr 6, 2012 - 1.0.0rc4 - "insomnia-induction"
  • Mar 30, 2012 - 1.0.0rc3 - "barefoot-telepathy"
  • Mar 21, 2012 - 1.0.0rc2 - "silence-absorption"
  • Mar 14, 2012 - 1.0.0rc1 - "moiré-vision"
  • Jan 17, 2012 - 0.10.6 - "bubblewrap-cape"
  • Nov 8, 2011 - 0.10.5 - "steel-fist"
  • Sep 2, 2011 - 0.10.0 - "chicken-hands"
  • Aug 21, 2011 - 0.9.19 - "canine-psychokinesis"
  • Jul 29, 2011 - 0.9.18 - "jiggling-armfat"
  • Jun 30, 2011 - 0.9.17 - "vegetable-reanimation"
  • Jun 7, 2011 - 0.9.16 - "weather-control"
  • April 11, 2011 - 0.9.15 - "lethal-stutter"
  • April 1, 2011 - 0.9.14 - "key-maker"
  • Mar 14, 2011 - 0.9.13 - "curdling-stare"
  • Mar 4, 2011 - 0.9.12 - "thought-implanter"
  • Feb 9, 2011 - 0.9.11 - "snow-maker"
  • Feb 1, 2011 - 0.9.10 - "flea-whisperer"
  • Jan 14, 2011 - 0.9.9 - "time-shift"
  • Dec 24, 2010 - 0.9.8 - "astral-projection"
  • Dec 10, 2010 - 0.9.7 - "sonic-scream"
  • Dec 7, 2010 - 0.9.6 - "night vision"
  • Nov 25, 2010 - 0.9.5 - "turkey-blast"
  • Nov 19, 2010 - 0.9.4 - "total-recall"
  • Nov 11, 2010 - 0.9.3 - "cold-resistance"
  • Nov 3, 2010 - 0.9.2 - "faunal-mimicry"
  • Oct 26, 2010 - 0.9.1 - "repulsion-field"
  • Oct 21, 2010 - 0.9.0 - "Dragon Breath"

External links