Angular (web framework)

Angular (web framework)
Angular (also referred to as "Angular 2+") is a TypeScript-based, free and open-source single-page web application framework led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS.
Differences between Angular and AngularJS
Google designed Angular as a ground-up rewrite of AngularJS.
Angular does not have a concept of "scope" or controllers; instead, it uses a hierarchy of components as its primary architectural characteristic.
Angular has a different expression syntax, focusing on "[ ]" for property binding, and "( )" for event binding
Modularity – much core functionality has moved to modules
Angular recommends the use of Microsoft's TypeScript language, which introduces the following features:
Static typing, including Generics
Type annotations
Dynamic loading
Asynchronous template compilations
Iterative callbacks provided by RxJS.
Support to run Angular applications on servers.
History
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.
Version 2
Angular 2.0 was announced at the ng-Europe conference 22–23 October 2014. The drastic changes in the 2.0 version created considerable controversy among developers. On April 30, 2015, the Angular developers announced that Angular 2 moved from Alpha to Developer Preview. Angular 2 moved to Beta in December 2015, and the first release candidate was published in May 2016. The final version was released on 14 September 2016.
Version 4
On 13 December 2016 Angular 4 was announced, skipping 3 to avoid a confusion due to the misalignment of the router package's version which was already distributed as v3.3.0. The final version was released on 23 March 2017. Angular 4 is backward compatible with Angular 2.
Angular version 4.3 is a minor release, meaning that it contains no breaking changes and that it is a drop-in replacement for 4.x.x.
Features in version 4.3
Introducing HttpClient, a smaller, easier to use, and more powerful library for making HTTP Requests.
New router life cycle events for Guards and Resolvers. Four new events: GuardsCheckStart, GuardsCheckEnd, ResolveStart, ResolveEnd join the existing set of life cycle event such as NavigationStart.
Conditionally disable animations.
Version 5
Angular 5 was released on 1 November 2017. Key improvements in Angular 5 include support for progressive web apps, a build optimizer and improvements related to Material Design.
Version 6
Angular 6 was released on 4 May 2018. This is a major release focused less on the underlying framework and more on the toolchain and on making it easier to move quickly with Angular in the future, like: ng update, ng add, Angular Elements, Angular Material + CDK Components, Angular Material Starter Components, CLI Workspaces, Library Support, Tree Shakable Providers, Animations Performance Improvements, and RxJS v6.
Version 7
Angular 7 was released on 18 October 2018. Updates regarding Application Performance, Angular Material & CDK, Virtual Scrolling, Improved Accessibility of Selects, now supports Content Projection using web standard for custom elements, and dependency updates regarding Typescript 3.1, RxJS 6.3, Node 10 (still supporting Node 8).
Version 8
Angular 8 was released on 28 May 2019. Featuring Differential loading for all application code, Dynamic imports for lazy routes, Web workers, TypeScript 3.4 support, and Angular Ivy as an opt-in preview. Angular Ivy opt-in preview includes:
Generated code that is easier to read and debug at runtime
Faster re-build time
Improved payload size
Improved template type checking
Backwards compatibility
Version 9
Angular 9 was released on 6 February 2020. Version 9 moves all applications to use the Ivy compiler and runtime by default. Angular has been updated to work with TypeScript 3.6 and 3.7. In addition to hundreds of bug fixes, the Ivy compiler and runtime offers numerous advantages:
Smaller bundle sizes
Faster testing
Better debugging
Improved CSS class and style binding
Improved type checking
Improved build errors
Improved build times, enabling AOT on by default
Improved Internationalisation
Version 10
Angular 10 was released on 24 June 2020.
New Date Range Picker (Material UI library)
Warnings about CommonJS imports
Optional Stricter Settings
Keeping Up to Date with the Ecosystem
New Default Browser Configuration
Deprecations and Removals
Version 11
Angular 11 was released on 11 November 2020.
Version 12
Angular 12 was released on 12 May 2021.
Deprecated support for IE11
Version 13
Angular 13 was released on 4 November 2021
Version 14
Angular 14 was released on 2 June 2022. Some new features include typed forms, standalone components, and new primitives in the Angular CDK (component dev kit). Standalone components work across Angular, and they now fully work in HttpClient, Angular Elements, router and more.
Version 15
Angular 15 was released on November 16, 2022.
Version 16
Angular 16 was released on 03 May 2023. New features included partial hydration for Angular Universal's server side rendering (SSR), experimental Jest support,
esbuild-based build system for development servers, standalone project support, and more.
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.
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.
Angular versions v2 to v13 are no longer under support.
Libraries
Angular Material
Angular Material is a UI component library that implements Material Design in Angular.
Angular Elements
In 2018, Angular 6 introduced Angular Elements that lets you package your Angular components as custom web elements, which are part of the web components set of web platform APIs.
See also
React (software)
Vue.js
Svelte
Comparison of JavaScript-based web frameworks
Web framework
References
External links
Official website
Archived website (Angular 2)
Google software
Software using the MIT license
Ajax (programming)
JavaScript libraries
2016 software
JavaScript web frameworks