Google Wiki
Advertisement


AngularJS (commonly referred to as "Angular.js" or "AngularJS 1.X") is a JavaScript-based open-source front-end web application framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications. The JavaScript components complement Apache Cordova, a framework used for developing cross-platform mobile apps. It aims to simplify both the development and the testing of such applications by providing a framework for client-side model–view–controller (MVC) and model–view–view model (MVVM) architectures, along with components commonly used in rich Internet applications. In 2014, the original AngularJS team began working on Angular (Application Platform).

The AngularJS framework works by first reading the HTML page, which has additional custom tag attributes embedded into it. Angular interprets those attributes as directives to bind input or output parts of the page to a model that is represented by standard JavaScriptvariables. The values of those JavaScript variables can be manually set within the code, or retrieved from static or dynamic JSON resources.

According to JavaScript analytics service Libscore, AngularJS is used on the websites of Wolfram Alpha, NBC, Walgreens, Intel, Sprint, ABC News, and about 12,000 other sites out of 1 million tested in October 2016. AngularJS is currently in the top 100 of the most starred projects on GitHub.

AngularJS is the frontend part of the MEAN stack, consisting of MongoDB database, Express.js web application server framework, Angular.js itself, and Node.js server runtime environment.

AngularJS[]

AngularJS is built on the belief that declarative programming should be used to create user interfaces and connect software components, while imperative programming is better suited to defining an application's business logic. The framework adapts and extends traditional HTML to present dynamic content through two-way data-binding that allows for the automatic synchronization of models and views. As a result, AngularJS de-emphasizes explicit DOM manipulation with the goal of improving testability and performance.

AngularJS's design goals include:

  • to decouple DOM manipulation from application logic. The difficulty of this is dramatically affected by the way the code is structured.
  • to decouple the client side of an application from the server-side. This allows development work to progress in parallel, and allows for reuse of both sides.
  • to provide structure for the journey of building an application: from designing the UI, through writing the business logic, to testing.

AngularJS implements the MVC pattern to separate presentation, data, and logic components. Using dependency injection, Angular brings traditionally server-side services, such as view-dependent controllers, to client-side web applications. Consequently, much of the burden on the server can be reduced.

Development History[]

AngularJS was originally developed in 2009 by Mohammad Yousuf at Brat Tech LLC as the software behind an online JSON storage service, that would have been priced by the megabyte, for easy-to-make applications for the enterprise. This venture was located at the web domain "GetAngular.com", and had a few subscribers before the two decided to abandon the business idea and release Angular as an open-source library.

Releases[]

Angular is an incompatible rewrite of AngularJS. Both AngularJS and Angular are currently supported.

1.6[]

This release added many of the concepts of Angular to AngularJS, including the concept of a component-based application architecture. This release among others removed the Sandbox, which many developers believed provided additional security, despite numerous vulnerabilities that had been discovered that bypassed the sandbox.

The current stable release of AngularJS is 1.6.9.

Legacy browser support[]

Versions 1.2 and later of AngularJS do not support Internet Explorer versions 6 or 7. Versions 1.3 and later of AngularJS dropped support for Internet Explorer 8.

Angular and AngularDart[]

Angular 2+ versions are simply called Angular. It is a TypeScript-based open-source front-end web application platform. Angular 4 was announced on 13 December 2016, skipping 3 to avoid confusion due to the misalignment of the router package's version which was already distributed as v3.3.0.

AngularDart works on Dart, which is an object-oriented, class defined, single inheritance using C# style syntax, which is different from Angular JS (which uses Javascript) and Angular 2/ Angular 4 (which uses Typescript). Angular 4 released in March 2017, with the framework's version aligned with the version number of the router it used. Angular 5 was released on November 1, 2017. Key improvements in Angular 5 include support for progressive Web apps, a build optimizer and improvements related to Material Design. Angular 6 release will be pushed back to March or April 2018, with Angular 7 showing up in September/October 2018. Each version is expected to be backward-compatible with the prior release. Google pledged to do twice-a-year upgrades.

Chrome Extension[]

In July 2012, the Angular team built an extension for the Google Chrome browser called Batarang, that improves the debugging experience for web applications built with Angular. The extension aims to allow for easy detection of performance bottlenecks and offers a GUI for debugging applications. For a time during late 2014 and early 2015, the extension was not compatible with recent releases (after v1.2.x) of Angular. The last update made to this extension was on April 4, 2017.

Advertisement