Angular (通常是指 "Angular 2+" 或 "Angular v2 及更高版本")[3][4] 是一個基於 TypeScript 的開源 Web 應用框架由 Google 的 Angular 團隊以及社區共同領導。Angular 是由 AngularJS 的同一個開發團隊完全重寫的。
此條目需要更新。 (2022年7月4日) |
開發者 | |
---|---|
首次發布 | 2.0 / 2016年9月14日[1] |
當前版本 |
|
源代碼庫 | github |
編程語言 | TypeScript |
平台 | Web 平台 |
類型 | Web應用框架 |
許可協議 | MIT許可證 |
網站 | angular |
Angular 和 AngularJS 之間的區別
在設計上,Angular 是 AngularJS 的完全重寫。
- Angular 沒有「作用域」或控制器的概念,其架構中的主要角色是一些層次化的組件。[5]
- Angular 具有不同的表達式語法,主要是用
"[ ]"
來表示屬性綁定,以及用"( )"
來表示事件綁定[6] - 模塊化 – 許多核心功能都已模塊化
- Angular 建議使用 Microsoft 的 TypeScript 語言,該語言引入了如下特性:
- TypeScript 是 ECMAScript 6 (ES6) 的超集,並且與 ECMAScript 5 (即 JavaScript) 向下兼容。
- 動態加載
- 異步模板編譯
- RxJS 提供了迭代式回調。RxJS 在狀態可見性和調試方面有局限,不過可以使用諸如 ngReact 或 ngrx 之類的響應式第三方庫來解決這些問題
- 支持 Angular Universal,它可以在服務器上運行 Angular 應用程序
歷史
最初,團隊將這份 AngularJS 的重寫版本稱為 「Angular 2」,但這在開發人員之間引起了混亂。為了明確起見,該團隊宣布應該為這兩個框架分別使用各自的術語,其中 「AngularJS」 專指 1.X 版本,而不帶 「JS」 的 「Angular」 則專指版本2及更高版本。[7]
在2014年10月22~23日的 ng-Europe 會議上發布了Angular 2.0。[8][9] 2.0 版的重大變化在開發人員之間引起了很大爭議。[10] 2015年4月30日,Angular 開發組宣布 Angular 2 從 Alpha 推進到 Developer Preview。[11] Angular 2 於2015年12月推進至 Beta 版,[12] 並於 2016年5月發布了首個 rc 版本。[13] 其最終版本於2016年9月14日發布。
2016年12月13日發布了 Angular 4,它跳過了版本號 3,以免由於路由模塊的版本的未和其它模塊對齊而造成混淆(路由模塊在之前已經作為 v3.3.0 發布了)。[14] 其最終版本於2017年3月23日發布。[15] Angular 4 向後兼容 Angular2。[16]
Angular 4.3 版是次要版本,這意味着它沒有破壞性變更,是 4.xx 的直接替代品。
版本 4.3 中的特性
- 引入了 HttpClient,這是一個更小、更易於使用且功能更強大的庫,可用於發起 HTTP 請求。
- 一些新的路由器生命周期事件,用於追蹤守衛和解析過程。生命周期事件(比如 NavigationStart)集合中加入了四個新事件:GuardsCheckStart, GuardsCheckEnd, ResolveStart, ResolveEnd。
- 有條件的禁用動畫。
Angular 5 於2017年11月1日發布。[17] Angular 5 的主要改進包括對漸進式 Web 應用的支持、一個構建優化器,以及一些與 Material Design 相關的改進。[18]
Angular 6 於2018年5月4日發布[19]。這是一個主版本,其改進重點不在於底層框架,而在於工具鏈,其目的是讓工具鏈能在將來與 Angular 一起快速發展,改進點主要包括:ng update、ng add、Angular Elements、Angular Material + CDK 組件庫、Angular Material 初學者組件、CLI 工作空間、庫支持、服務提供商的搖樹優化、動畫性能改進,以及 RxJS v6。
Angular 7 於2018年10月18日發布。其升級主要集中在 Angular Material & CDK、虛擬滾動、選擇框在無障礙方面的改進、支持對符合 Web 標準的自定義元素進行內容投影,以及對 Typescript 3.1、RxJS 6.3、Node 10 (仍然支持 Node 8) 的依賴庫更新。[20]
Angular 8 於2019年5月28日發布。特性包括:為所有應用代碼進行差異化加載、針對惰性加載路由的動態導入、Web workers、支持 TypeScript 3.4,並且把 Angular Ivy 作為可選的預覽特性。Angular Ivy 的可選預覽特性包括:[21]
- 生成的代碼在運行時更易於閱讀和調試
- 更快的重新構建
- 改進了有效載荷的大小
- 改進了模板類型檢查
- 向後兼容
最值得期待的特性之一是 Ivy [21],它是一個向後兼容的、基於增量式 DOM 架構的全新渲染引擎。Ivy 從設計之初就考慮到了搖樹優化,這意味着應用的發布包中只會包含那些在應用中真正用到的 Angular 部件。
可以預期,每一個版本都會向後兼容前一個版本。Google 承諾每年會進行兩次升級。
所有主版本都提供了 18 個月的支持。其中包括 6 個月的活躍支持,在此期間會定期發布更新和補丁。然後是12個月的長期支持(LTS),在此期間只會發布關鍵修復程序和安全補丁。[22]
程式庫
此章節需要擴充。 (2019年8月1日) |
Angular Material 是一個 UI 組件庫,它在 Angular 中實現了 Material Design。[23][24][25][26]
另請參閱
參考資料
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.