Subjects covered include:
- Getting started with AngularJS
- Modules
- Components
- Built-in directives
- Use of in-built directives
- Custom Directives
- How data binding works
- Angular Project - Directory Structure
- Filters
- Custom filters
- Constants
- Custom filters with ES6
- Directives using ngModelController
- Controllers
- Controllers with ES6
- The Self Or This Variable In A Controller
- Services
- Distinguishing Service vs Factory
- Angular promises with $q service
- Dependency Injection
- Events
- Sharing Data
- Form Validation
- Routing using ngRoute
- ng-class directive
- ng-repeat
- ng-style
- ng-view
- AngularJS bindings options (`=`, `@`, `&` etc.)
- Providers
- Decorators
- ui-router
- Built-in helper Functions
- digest loop walkthrough
- Angular $scopes
- Using AngularJS with TypeScript
- $http request
- Prepare for Production - Grunt
- Grunt tasks
- Lazy loading
- HTTP Interceptor
- Session storage
- Angular MVC
- SignalR with AngularJS
- Migration to Angular 2+
- AngularJS with data filter, pagination etc
- Profiling and Performance
- Performance Profiling
- Debugging
- Unit tests
- AngularJS gotchas and traps
AngularJS is a JavaScript-based open-source front-end web 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. 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–viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications. (This flexibility has led to the acronym MVW, which stands for "model-view-whatever" and may also encompass model–view–presenter and model–view–adapter.) In 2014, the original AngularJS team began working on the Angular web framework.
The AngularJS framework works by first reading the Hypertext Markup Language (HTML) page, which has additional custom HTML 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 JavaScript variables. 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 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 Document Object Model (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.
Source Wikipedia.