AngularJS
![]() | |
Developer(s) | Google Inc. and community. |
---|---|
Initial release | 2009 |
Stable release | 1.0.1
/ June 25, 2012 |
Repository | |
Written in | JavaScript |
Operating system | Cross-platform |
License | MIT License |
Website | www |
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
- AngularJS homepage http://www.angularjs.org/