Questions about Angular (not to be confused with AngularJS), the web framework from Google. Use this tag for Angular questions which are not specific to an individual version. For the older AngularJS (1.x) web framework, use the AngularJS tag.
The spiritual successor to the older AngularJS web framework.
(Questions about the older framework should use the angularjs tag instead.)
Features and Benefits
- Mobile First
- Future Ready
- Flexible Development
- Speed and Performance
- Server-side rendering
- Simple and Expressive
- Comprehensive Routing
- Animations
- Hierarchical Dependency Injection
- Support for Web Components
- Service workers
- Internationalization and localisation (i18n) & Accessibility
- AOT compilation
- Lazy Loading
- And much more
Building Blocks of Angular Apps
Module: A typical module is a cohesive block of code dedicated to a single purpose. A module exports something of value in that code, typically one thing such as a class.
Component: A component is a building block with component metadata. In TypeScript, we'd apply the
@Component
decorator to attach metadata to the class. This metadata mainly consists of the template or templateUrl, the selector, and the attached styling.Template: We define a Component's view with its companion template. A template is a form of HTML that tells Angular how to render the Component.
Metadata: Metadata tells Angular how to process a class.
Data Binding: Angular supports data binding, a mechanism for coordinating parts of a template with parts of a component. There are four forms of data-binding syntax:
- Interpolation:
{{value}}
- Property binding :
[property]="value"
- Event Binding :
(event)="handler"
- Two-way data binding:
[(ngModel)]="property"
- Interpolation:
Service: "Service" is a broad category encompassing any value, function or feature that our application needs.
Directive: A directive is a class with directive metadata. In TypeScript, we'd apply the
@Directive
decorator to attach metadata to the class.Dependency Injection: "Dependency Injection" is a way to supply a new instance of a class with the fully-formed dependencies it requires. Most dependencies are services. Angular uses dependency injection to provide new components with the services they need.
Pipes: Pipes are used for transforming values from one form to another. Angular offers many built-in pipes. Also, you can create custom pipes too.
See the changelog for latest version information.
As of Oct 2022, the current version is 14.2.0 See the full release schedule on the official GitHub repository. Angular versioning follows Semantic Versioning principles; all major versions feature some breaking changes over the previous ones.
Consider using the Update Guide for tips before changing the version.
Browser Support
- Latest versions of Chrome, Edge, Firefox, IE, and Safari
- Tested for older browsers including IE9+ and Android 4.1+
Useful links
- Official website
- Github repository
- ChangeLog
- Awesome Angular - comprehensive list of resources
- Angular 2+ Components & Libraries
- Gitter Channel
- AngularAir - podcast and live broadcast
- ng-newsletter email newsletter
- Angular In Depth
- Update Guide
Books
Code Editors & IDEs
- Atom
- StackBlitz, online code editor
- CodeSandbox, online code editor
- VisualStudio Code
- WebStorm
- IntelliJ IDEA
- Sublime Text
- Coder, cloud IDE
- Theia, cloud and desktop IDE
- detail wiki on TypeScript support in IDEs: @Microsoft@GitHub
Rich UI components for Angular
- PrimeNG
- Angular Material
- Ant Design of Angular
- Ant Design Mobile of Angular
- ng-bootstrap
- ngx-bootstrap
- Kendo UI
- Semantic UI
- ng-lightning
Cross-Platform Development
Related tags
- angular4
- angular5
- angular6
- angular7
- angular8
- angular9
- angular10
- angular11
- angular12
- angular13
- angular14
- angular-cli
- angular-routing
- angular2-routing
- angular-httpclient
- angularfire2
- angular-reactive-forms
- angular-material