Angular (web framework): Difference between revisions

Content deleted Content added
external link (documentary)
Balder16 (talk | contribs)
m Link to more up to date StackOverflow survey
Tags: Mobile edit Mobile app edit iOS app edit App section source
 
(22 intermediate revisions by 13 users not shown)
Line 3:
{{Infobox software
| name = Angular
| logo = [[File:Angular Logologo SVG(2023).svg|200px]]
| logo_size =
| developer = [[Google]]
Line 9:
| latest_release_version = {{wikidata|property|reference|edit| Q28925578 |P348}}
| latest_release_date = {{start date and age|{{wikidata|qualifier| Q28925578 |P348|P577}}}}
| latest preview version = 1920.0.0-next.0
| latest preview date = {{Start date and age|20242025|0805|1428|df=yes}}<ref name="changelog">{{cite web|url=https://github.com/angular/angular/blob/main/CHANGELOG.md|title=angular/CHANGELOG.md |website=[[GitHub]] |access-date=20242025-0805-1428}}</ref>
| repo = {{URL|https://github.com/angular/angular|Angular Repository}}
| programming language = [[TypeScript]], [[JavaScript]]
Line 18:
| website = {{URL|https://angular.dev/}}
}}
'''Angular''' (also referred to as '''Angular 2+''')<ref>{{cite web|url=https://www.sitepoint.com/angularjs-vs-angular/|title=AngularJS and Angular 2+: a Detailed Comparison|date=6 April 2018}}</ref> is a [[TypeScript]]-based [[Free and open-source software|free and open-source]] [[Single-page application|single-page]] [[Web framework|web application framework]]. 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.<ref>{{Cite web |title=Angular |url=https://angular.io/guide/what-is-angular |access-date=2024-03-26 |website=angular.io}}</ref> According to the Stack Overflow Developer Survey, Angular is one of the most commonly used web frameworks.<ref>{{Cite web |title=Stack Overflow Developer Survey 20232025 |url= https://survey.stackoverflow.co/20232025/?utm_source=socialtechnology#1-share&utm_medium=social&utm_campaign=devweb-surveyframeworks-and-2023technologies |access-date=20242025-0608-0230 |website=Stack Overflow |language=en}}</ref>
 
==Differences between Angular and AngularJS==
 
[[File:Architecture of an Angular 2 application.png|thumb|right|upright=1.5|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.<ref>{{cite web|url=https://angular.io/guide/architecture|title=Angular Docs|website=angular.io}}</ref> Angular has a different expression syntax, focusing on <code>"[ ]"</code> for [[Property (programming)|property]] binding, and <code>"( )"</code> for [[Event (computing)|event]] binding.<ref>{{cite web |url=https://gorrion.io/blog/angularjs-vs-angular/ |title= What's the difference between AngularJS and Angular? |date=September 19, 2017 |website= gorrion.io |access-date=2018-01-28}}</ref> Angular recommends the use of [[Microsoft]]'s [[TypeScript]] language, which introduces features such as [[static typing]], [[Generic programming|generics]], and [[type annotation]]s.
== Features ==
=== Component-based architecture ===
Line 29:
 
=== Data binding ===
Angular supports two-way data binding,<ref>{{Cite book |last=Chidester |first=Ashlan |title=Discover Angular |date=2024-04-23 |isbn=9798224446049}}</ref> 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.<ref>{{Cite web |title=Understanding binding · Angular |url=https://angular.dev/guide/templates/binding |access-date=2024-06-02 |website=angular.dev |language=en}}</ref>
 
=== Dependency injection ===
Line 47:
 
==History==
Angular 2.0 was announced atduring the ngkeynote of the 2014 NG-EuropeConf conference 22–2316-17 OctoberJanuary 2014.<ref>{{cite web |title=NgNG-EuropeConf schedule2014 keynote |url=https://2015www.ngeuropeyoutube.orgcom/#schedulewatch?v=r1A1VR0ibIQ&t=1227s |urlaccess-statusdate=dead2025-06-10 |archive-urlwebsite=https://webyoutube.archive.org/web/20180430113923/https://2015.ngeurope.org/#schedulecom |archive-datelanguage=2018en-04-30US |access-date=2018-04-29}}</ref> On April 30, 2015, the Angular developers announced that Angular 2 moved from Alpha to Developer Preview.<ref>{{Cite tweet |number=593797019258359809 |user=angularjs |title=Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at ... angular.io/docs/js/latest |date=30 Apr 2015 |access-date=2015-10-21}}</ref> Angular 2 moved to Beta in December 2015,<ref>{{Cite web |title=Angular: Angular 2 Beta |url=http://angularjs.blogspot.it/2015/12/angular-2-beta.html |url-status=dead |archive-url=https://web.archive.org/web/20151218005753/http://angularjs.blogspot.it/2015/12/angular-2-beta.html |archive-date=2015-12-18 |access-date=2016-07-13 |website=angularjs.blogspot.it}}</ref> and the first release candidate was published in May 2016.<ref>{{Cite web |title=angular/angular |url=https://github.com/angular/angular/blob/master/CHANGELOG.md#200-rc0-2016-05-02 |access-date=2016-05-04 |website=GitHub}}</ref> 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.<ref>{{Cite web |last=Thompson |first=Mark |date=2021-11-04 |title=Angular v13 is now Available |url=https://blog.angular.dev/angular-v13-is-now-available-cce66f7bc296 |access-date=2024-06-02 |website=Angular Blog |language=en}}</ref> The Angular Renaissance14 startedintroduced onstandalone Junecomponents 2,and 2022Angular with17 themade releasethem ofthe v14default, when the transformation towards de-emphasizing the use of modules.<ref>{{Cite inweb favor|last=Gechev of|first=Minko a|date=2023-11-08 more|title=Introducing modernAngular andv17 streamlined|url=https://blog.angular.dev/introducing-angular-v17-4d7033312e4b#586d approach|access-date=2024-05-16 to|website=Angular applicationBlog structure.|language=en}}</ref>
 
Angular 18, released in 2024, introduced several improvements such as standalone components defaulting to true, built-in control flow syntax, zoneless support previews, and modern SSR debugging tools.<sup>[44]</sup>
 
===Naming===
Line 59 ⟶ 61:
! Version !! Release date !! New features
|-
|{{Version |c |Angular 1920}}
|May 328, 20232025
|by default Angular CLI will not generate suffixes for components, directives, services, and pipes.<ref>{{Cite web |last=Gechev |first=Minko |date=2025-05-28 |title=Announcing Angular v20 |url=https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301 |access-date=2025-05-28 |website=Medium |language=en}}</ref>
|-
|{{Version |co |Angular 19}}
|November 19, 2024
|Angular directives, components and pipes are now standalone by default.<ref>{{Cite web |last=Gechev |first=Minko |date=2024-0511-2319 |title=Meet Angular v19 |url=https://blog.angular.dev/meet-angular-v19-7b29dfd05b84 |access-date=2024-0611-0219 |website=Medium |language=en}}</ref>
|-
|{{Version |coo |Angular 18}}
|May 22, 2024
|Experimental zoneless change detection support and server-side rendering improvements.<ref>{{Cite web |last=Gechev |first=Minko |date=2024-05-23 |title=Angular v18 is now available! |url=https://blog.angular.dev/angular-v18-is-now-available-e79d5ac0affe |access-date=2024-06-02 |website=Medium |language=en}}</ref>
|-
|{{Version |coo | Angular 17}}
| November 8, 2023<ref name=":1">{{cite web |last=Gechev |first=Minko |date=8 November 2023 |title=Introducing Angular v17 |url=https://blog.angular.io/introducing-angular-v17-4d7033312e4b |access-date=12 November 2023 |website=Medium |publisher=Angular Blog}}</ref>|| Standalone is now the new default for the CLI (Application builder), without the need for Angular modules (NgModule), a new syntax for control flow and documentation website.<ref name=":1" />
|-
Line 74 ⟶ 80:
| {{Version |o |Angular 15}} || November 18, 2022 ||Standalone APIs, directive composition API.<ref>{{Cite web |last=Gechev |first=Minko |date=2022-11-21 |title=Angular v15 is now available! |url=https://blog.angular.dev/angular-v15-is-now-available-df7be7f2f4c8 |access-date=2024-06-02 |website=Angular Blog |language=en}}</ref>
|-
| {{Version |o |Angular 14}} || 2 June 2022 ||Typed forms, standalone components, and new primitives in the Angular CDK (component dev kit).<ref>{{Cite web |last=Twersky |first=Emma |date=2022-06-03 |title=Angular v14 is now available! |url=https://blog.angular.dev/angular-v14-is-now-available-391a6db736af |access-date=2022-06-03 |website=Angular Blog |language=en}}</ref> The Angular Renaissance started with the release of v14.
|-
| {{Version |o |Angular 13}} || 4 November 2021<ref name=":2">{{cite web |last1=Thompson |first1=Mark |title=Angular v13 is now Available |url=https://blog.angular.io/angular-v13-is-now-available-cce66f7bc296 |access-date=10 January 2022 |website=Angular Blog|date=4 November 2021 }}
Line 109 ⟶ 115:
 
=== 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.<ref>{{Cite web|url=https://angular.io/guide/releases#support-policy-and-schedule|title=Angular|website=angular.io|access-date=2019-06-07}}</ref>
{| class="wikitable"
|+Supported Angular Versions
Line 119 ⟶ 125:
!Duration
|-
|^1819.0.0
|Active
|MayNov 2219, 2024
|NovMay 2219, 20242025
|NovMay 2219, 20252026
|1.5 years
|-
|^1718.0.0
|LTS
|NovMay 0822, 20232024
|MayNov 819, 2024
|MayNov 1519, 2025
|1.5 years
|-
|^16.0.0
|LTS
|May 3, 2023
|Nov 08, 2023
|Nov 08, 2024
|1.5 years
|}
Angular versions v2 to v15v17 are no longer under support.<ref>{{Cite web |title=Angular |url=https://angular.iodev/guidereference/releases#supportactively-policysupported-and-scheduleversions |access-date=20222025-0602-1012 |website=angular.iodev |language=en}}</ref>
 
== Libraries ==
Line 150 ⟶ 149:
 
=== 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.<ref>{{cite web|url=https://www.freecodecamp.org/news/how-to-create-angular-6-custom-elements-web-components-c88814dc6e0a/|title=How to create Angular 6 Custom Elements and Web Components|date=29 September 2018 }}</ref><ref>[https://www.wedowebapps.com/angular-18-features-enhancements/ Angular 18 Features & Enhancements]. Published [20 May 2025]. Accessed [20 May 2025].</ref>
 
==See also==
Line 161 ⟶ 160:
 
==References==
{{Reflistreflist}}
 
==External links==
* [https://angular.io Official website]
* [https://v2.angular.io Archived website (Angular 2)]
* {Cite AV media |url=https://www.youtube.com/watch?v=cRC9DlH45lA |title=Angular: The Documentary {{!}} An origin story |date=2025-02-04 |last=Honeypot |access-date=2025-02-05 |via=YouTube}}
 
{{Application frameworks}}