Angular (web framework)

From Wikipedia, the free encyclopedia
  (Redirected from Angular (application platform))
Jump to navigation Jump to search
Angular
Angular full color logo.svg
Developer(s)Google
Initial release2.0 / 14 September 2016; 3 years ago (2016-09-14)[1]
Stable release
8.2.14 / 13 November 2019; 6 days ago (2019-11-13)[2]
Preview release
9.0.0-next.15 / 30 October 2019; 20 days ago (2019-10-30)[3]
RepositoryAngular Repository
Written inTypeScript
PlatformWeb platform
TypeWeb framework
LicenseMIT License
Websiteangular.io

Angular (commonly referred to as "Angular 2+" or "Angular v2 and above")[4][5] is a TypeScript-based open-source 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[edit]

Architecture of an Angular application. The main building blocks are modules, components, templates, metadata, data binding, directives, services and dependency injection.

Angular was designed 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.[6]
  • Angular has a different expression syntax, focusing on "[ ]" for property binding, and "( )" for event binding[7]
  • Modularity – much core functionality has moved to modules
  • Angular recommends the use of Microsoft's TypeScript language, which introduces the following features:
  • TypeScript is a superset of ECMAScript 6 (ES6), and is backwards compatible with ECMAScript 5 (i.e.: JavaScript).
  • Dynamic loading
  • Asynchronous template compilations
  • Iterative callbacks provided by RxJS. RxJS limits state visibility and debugging, but these can be solved with reactive add-ons like ngReact or ngrx.
  • Support for Angular Universal, which runs Angular applications on servers

History[edit]

Naming[edit]

Originally, the rewrite of AngularJS was called "Angular 2" by the team, but this led to confusion among developers. To clarify, the team announced that separate terms 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.[8]

Version 2[edit]

Angular 2.0 was announced at the ng-Europe conference 22–23. October 2014.[9][10] The drastic changes in the 2.0 version created considerable controversy among developers.[11] On April 30, 2015, the Angular developers announced that Angular 2 moved from Alpha to Developer Preview.[12] Angular 2 moved to Beta in December 2015,[13] and the first release candidate was published in May 2016.[14] The final version was released on September 14, 2016.

Version 4[edit]

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.[15] The final version was released on March 23, 2017.[16] Angular 4 is backward compatible with Angular 2.[17]

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[edit]

Angular 5 was released on November 1, 2017.[18] Key improvements in Angular 5 include support for progressive web apps, a build optimizer and improvements related to Material Design.[19]

Version 6[edit]

Angular 6 was released on May 4, 2018.[20]. 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[edit]

Angular 7 was released on October 18, 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).[21]

Version 8[edit]

Angular 8 was released on May 28, 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:[22]

  • Generated code that is easier to read and debug at runtime
  • Faster re-build time
  • Improved payload size
  • Improved template type checking
  • Backwards compatibility

Future Releases[edit]

One of the highlights is the expected release of Ivy[22], a backwards compatible, completely new render engine based on the incremental DOM architecture. Ivy has been engineered with tree shaking in mind, which means that application bundles will only include the parts of Angular that are actually used by the application.

Each version is expected to be backward-compatible with the prior release. Google pledged to do twice-a-year upgrades.

Support policy and schedule[edit]

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.[23]

Supported Angular Versions
Version Status Released Active Ends LTS Ends
^8.0.0 Active May 28, 2019 Nov 28, 2019 Nov 28, 2020
^7.0.0 LTS Oct 18, 2018 April 18, 2019 Apr 18, 2020
^6.0.0 LTS May 3, 2018 Nov 3, 2018 Nov 3, 2019

Libraries[edit]

Angular Material[edit]

Angular Material is a UI component library that implements Material Design in Angular.[24][25][26][27]

See also[edit]

References[edit]

  1. ^ "Angular, version 2: proprioception-reinforcement". blogspot.com. September 14, 2016. Retrieved 2017-03-18.
  2. ^ "GitHub - angular/angular: One framework. Mobile & desktop". 13 November 2019 – via GitHub.
  3. ^ "angular/CHANGELOG.md at master · angular/angular". GitHub. Retrieved 2019-10-19.
  4. ^ "r/Angular2". reddit.
  5. ^ "AngularJS and Angular 2+: a Detailed Comparison". 6 April 2018.
  6. ^ "Angular Docs". angular.io.
  7. ^ "What's the difference between AngularJS and Angular?". gorrion.io. September 19, 2017. Retrieved 2018-01-28.
  8. ^ "Angular: Branding Guidelines for AngularJS". Retrieved 2017-03-04.
  9. ^ Coman Hamilton. "A sneak peek at the radically new Angular 2.0". Retrieved 2015-10-21.
  10. ^ "Ng-Europe schedule".
  11. ^ Coman Hamilton. "Angular 2.0 announcement backfires". Retrieved 2015-10-21.
  12. ^ @angularjs (30 Apr 2015). "Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at ... angular.io/docs/js/latest" (Tweet). Retrieved 2015-10-21 – via Twitter.
  13. ^ "Angular: Angular 2 Beta". angularjs.blogspot.it. Retrieved 2016-07-13.
  14. ^ "angular/angular". GitHub. Retrieved 2016-05-04.
  15. ^ "Ok... let me explain: it's going to be Angular 4.0". angularjs.blogspot.kr. Retrieved 2016-12-14.
  16. ^ "Angular 4.0.0 Now Available". angularjs.blogspot.ca. Retrieved 2017-03-23.
  17. ^ "Angular 4 coming in 2017, to be backwards compatible with Angular 2". react-etc.net. Retrieved 2016-12-14.
  18. ^ Fluin, Stephen. "Version 5.0.0 of Angular Now Available". Retrieved 2 November 2017.
  19. ^ "Angular 5 JavaScript framework delayed".
  20. ^ "Version 6.0.0 of Angular Now Available". Retrieved 4 May 2018.
  21. ^ Fluin, Stephen (2018-10-18). "Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more". Angular Blog. Retrieved 2019-06-07.
  22. ^ a b Fluin, Stephen (2019-02-08). "A plan for version 8.0 and Ivy". Angular Blog. Retrieved 2019-06-07.
  23. ^ "Angular". angular.io. Retrieved 2019-06-07.
  24. ^ Noring, Christoffer; Deeleman, Pablo (2017-12-08). Learning Angular: A no-nonsense guide to building real-world apps with Angular 5. Packt Publishing Ltd. p. 315. ISBN 9781787125940.
  25. ^ Hajian, Majid (2019-05-22). Progressive Web Apps with Angular: Create Responsive, Fast and Reliable PWAs Using Angular. Apress. p. 30. ISBN 9781484244487.
  26. ^ Kasagoni, Shravan Kumar (2017-05-29). Building Modern Web Applications Using Angular. Packt Publishing Ltd. p. 173. ISBN 9781785880032.
  27. ^ Clow, Mark (2018-02-20). Angular 5 Projects: Learn to Build Single Page Web Applications Using 70+ Projects. Apress. p. 245. ISBN 9781484232798.

External links[edit]