Angular (web framework)

(Redirected from Angular Material)

Angular (also referred to as "Angular 2+")[4] is a TypeScript-based free and open-source single-page web application framework run on Node.js. It is developed by Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS. The Angular ecosystem consists of a diverse group of over 1.7 million developers, library authors, and content creators.[5] According to the Stack Overflow Developer Survey, Angular is one of the most commonly used web frameworks, second to React.[6]

Angular
Developer(s)Google
Initial release2.0 / 14 September 2016; 7 years ago (2016-09-14)[1]
Stable release
18.0.0[2] Edit this on Wikidata / 22 May 2024; 29 days ago (22 May 2024)
Preview release
17.1.0-next.0 / 15 November 2023; 7 months ago (2023-11-15)[3]
RepositoryAngular Repository
Written inTypeScript, JavaScript
PlatformWeb platform
TypeWeb framework
LicenseMIT License
Websiteangular.io
angular.dev

Differences between Angular and AngularJS

Architecture of an Angular application, services, and dependency injection

Google designed Angular as a ground-up rewrite of AngularJS. Unlike AngularJS, Angular does not have a concept of "scope" or controllers; instead, it uses a hierarchy of components as its primary architectural characteristic.[7] Angular has a different expression syntax, focusing on "[ ]" for property binding, and "( )" for event binding.[8] Angular recommends the use of Microsoft's TypeScript language, which introduces features such as static typing, generics, and type annotations.

Features

Component-Based Architecture

Angular uses a component-based architecture, which allows developers to build encapsulated, reusable user interface elements. Each component encapsulates its own HTML, CSS, and TypeScript, making it easier to manage and test individual pieces of an application.[9]

Data Binding

Angular supports two-way data binding, which synchronizes data between the model and the view. This ensures that any changes in the view are automatically reflected in the model and vice versa.[10]

Dependency Injection

Angular has a built-in dependency injection system that makes it easier to manage and inject dependencies into components and services. This promotes modularity and easier testing.[11]

Directives

Angular extends HTML with additional attributes called directives. Directives offer functionality to change the behavior or appearance of DOM elements.[12]

Routing

Angular includes a router that allows developers to define and manage application states and navigation paths, making it easier to build single-page applications with complex routing.[13]

Angular CLI

The Angular CLI (Command Line Interface) provides a set of tools for creating, building, testing, and deploying Angular applications. It enables rapid application setup and simplifies ongoing development tasks.[14]

History

Angular 2.0 was announced at the ng-Europe conference 22–23 October 2014.[15] On April 30, 2015, the Angular developers announced that Angular 2 moved from Alpha to Developer Preview.[16] Angular 2 moved to Beta in December 2015,[17] and the first release candidate was published in May 2016.[18] The final version was released on 14 September 2016.

Version 8 of Angular introduced a new compilation and rendering pipeline, Ivy, and version 9 of Angular enabled Ivy by default. Angular 13 removed the deprecated former compiler, View Engine.[19]

Naming

The rewrite of AngularJS was called "Angular 2", but this led to confusion among developers. To clarify, the team announced that separate names should be used for each framework with "AngularJS" referring to the 1.X versions and "Angular" without the "JS" referring to versions 2 and up.[20]

Version History

VersionRelease dateNew featuresNotes
Angular 18May 22, 2024Experimental zoneless change detection support and server-side rendering improvements.[21]
Angular 17November 8, 2023[22]Application builder, a new syntax for control flow, and a re-worked learning and documentation website.[22]
Angular 163 May 2023Partial hydration for Angular Universal's Server-side rendering, experimental Jest support, and Esbuild-based build system for development servers.
Angular 15November 18, 2022Standalone APIs, directive composition API.[23]
Angular 142 June 2022Typed forms, standalone components, and new primitives in the Angular CDK (component dev kit).
Angular 134 November 2021[24]Removed deprecated View Engine renderer.
Angular 1212 May 2021[25]Deprecated support for Internet Explorer 11.
Angular 1111 November 2020[26]Experimental Webpack 5 support
Angular 1024 June 2020[27]New Date Range Picker (Material UI library).
Angular 96 February 2020Improved build times, enabling AOT on by default
Angular 828 May 2019Differential loading for all application code, Dynamic imports for lazy routes, Web workers, TypeScript 3.4 support, and Angular Ivy as an opt-in preview.[28]
Angular 718 October 2018Updates regarding Application Performance, Angular Material & CDK, Virtual Scrolling, Improved Accessibility of Selects. Support for Content Projection using web standard for custom elements, and dependency updates regarding Typescript 3.1, RxJS 6.3 and Node.js 10.[29]
Angular 64 May 2018[30]Experimental custom element support
Angular 51 November 2017[31]Support for progressive web apps, a build optimizer and improvements related to Material Design.[32]
Angular 4.318 July 2017HttpClient for making HTTP requests, conditionally disabling animations, new router life cycle events for Guards and Resolvers.Minor release, meaning that it contains no breaking changes and that it is a drop-in replacement for Angular 4.x.x.
Angular 423 March 2017[33]Added ng update commandBackward compatible with Angular 2.
Angular 214 September 2016Initial release

Future releases

Since v9, the Angular team has moved all new applications to use the Ivy compiler and runtime. They will be working on Ivy to improve output bundle sizes and development speeds.[34]

Each version is expected to be backward-compatible with the prior release. The Angular development team has pledged to do twice-a-year upgrades.

Support policy and schedule

All the major releases are supported for 18 months. This consists of 6 months of active support, during which regularly-scheduled updates and patches are released. It is then followed by 12 months of long-term support (LTS), during which only critical fixes and security patches are released.[35]

Supported Angular Versions
VersionStatusReleasedActive EndsLTS EndsDuration
^18.0.0ActiveMay 22, 2024Nov 22, 2024Nov 22, 20251.5 years
^17.0.0LTSNov 08, 2023May 8, 2024May 15, 20251.5 years
^16.0.0LTSMay 3, 2023Nov 08, 2023Nov 08, 20241.5 years

Angular versions v2 to v15 are no longer under support.[36]

Libraries

Angular Material

Angular Material is a UI component library that implements Material Design in Angular.[37] It provides a collection of reusable components that adhere to Google's Material Design specifications, aiming to offer a consistent user interface across different devices and platforms.

Angular Material includes a variety of UI components such as buttons, cards, dialogs, grids, and form controls. These components are designed to be customizable and easy to integrate into Angular applications. Additional features of Angular Material include support for responsive design, theming, and accessibility.

Angular Elements

In 2018, Angular 6 introduced Angular Elements, enabling developers to package Angular components as custom web elements, which are part of the web components set of web platform APIs.[38]

See also

References