了解 Angular 9 的全新特性
已發表: 2022-01-02在本文中,我們將了解 Angular 9 的新功能。新版本於 2020 年 2 月 7 日最近發布
儘管從 8 到 9 的嗡嗡聲變化似乎是一個巨大的進步,但 v9 是一個非凡的版本,其中還包括修復了錯誤。
最重要的是,我們將在本文中討論各種有趣的 Angular 9 特性。
- Angular 的成熟開發
- Angular 的內置功能
- 角移動和常春藤
- 角度診斷改進
- Angular 9 中的類型安全和 DI
- 角度基準
Angular 是目前用於開發移動和 Web 應用程序的最重要的開源框架。
它是由谷歌開發的。 Angular 在市場上已有多年,它提供了一個全面的開發框架,其中包括創建 Web 應用程序所需的組件和工具。
Angular 有一個清晰的路線圖,每六個月就會推出一個新的主要版本。
此外,Angular 團隊工作得非常好,因此 API 不會像從 Angular 1 到 2 那樣經常更改或更改。
這是一件很棒的事情,因為它通過 JavaScript 和 TypeScript 支持的最新功能和最佳實踐使所有內容保持最新。
在這裡,在本文中,我們將重點討論損壞先前版本 Angular 的問題之一,例如大文件對下載時間、應用程序性能和後果產生不利影響。
我們將關注的另一個基本特性是 Ivy 編譯器。 您將全面了解 Ivy 及其在 Angular 未來的重要性。 最終結果:它解決了應用程序性能和大包的各種問題。
此外,還將討論新功能,包括國際化支持和無選擇器綁定。
了解 JavaScript 性能和包
過去 Angular 版本的主要問題之一是應用程序的大文件大小,相當於在 JavaScript 包中創建的文件大小。
如果將 Angular 與Vue 或 React等其他庫進行比較,Angular 應用程序相對較好。
在運行期間,您不會感覺到差異。 雖然 Angular 的性能不錯,但加載時間會比較長,因為簡單的應用程序也很大。
JavaScript 包的大小也提供了其他問題的訣竅。 Angular 有很多東西需要學習,因為它是一個帶有內置開發設備的完整框架,而其他的
JavaScript 庫更側重於組件。
Angular 團隊可以做些什麼來緩解過去版本中大量捆綁文件引起的問題?
Angular Ivy 解決了各種問題
Angular 8 中最重要的功能之一是選擇加入 Ivy 的預覽。
Ivy 目前是全新的渲染管線和新的內部構建。 渲染器通常是一個引擎,它接受您在帶有模板的 Angular 組件中放置的指令。
它還執行將組件轉換為更改 DOM(文檔對像模型)的指令的功能。
Ivy 編譯器被隱藏起來,它也用 Ivy 繼承了 ViewEngine,但這並沒有改變我們使用 Angular 的方式。 但這不會改變您使用 Angular 的方式。
該更改確實對正在生成的代碼產生了顯著影響。
Angular 8 預覽版可幫助用戶輕鬆使用 Ivy。 當與 Angular 9 教程一起使用時,Ivy 目前是標準渲染器之一。
如果渲染器易於實現且高效,則意味著您可以創建更少的代碼,因為不需要更多指令。
Ivy 提供的 JavaScript 包非常少,因此它解決了與 Angular 包有關的所有弱點。

此外,Ivy 將改變整個遊戲,因為它將在大小和性能方面將 Angular 應用程序帶到一個全新的水平。
Ivy 從未改變 Angular 的使用方式,但它改變了應用程序生成的整個技術。
Angular 團隊關注諸如現代 JavaScript 的差分加載程序之類的舉措,這些舉措是由 Angular 灌輸的。
這意味著各種 polyfill 包是一起部署和開發的。
帶有 Angular Ivy 的敏捷移動應用程序
智能手機和各種設備佔全球流量的大部分。 此外,許多人從互聯網連接速度較慢的地方訪問網頁。
大多數開發人員可以修復現有應用程序以減少可下載工具的大小並增加用戶體驗,但此類更改可能非常昂貴、困難且有風險。
通過減少 JavaScript 包的大小,對於想要加快開發過程的開發人員來說,Ivy 成為一個受歡迎的改進。
角度診斷增強功能
早些時候,Angular Compiler 生成了內部 API 診斷和 TypeScript 診斷。 但是,TypeScript 診斷受益於當前的增強功能,這些增強功能並未在 API 診斷中實現。
與使用多種格式不同,Angular 7 將通過將所有 Angular TypeScript 編譯器診斷轉換為類似類型的 TypeScript 診斷格式,從而完全使過程無縫。
最新版本 9 還將通過使用架構註冊表來驗證 DOM 綁定,從而防止應用程序避免潛在問題。
最重要的是,一致的模板診斷將有利於支持描述性錯誤消息的生成。
API Extractor 中的升級
Angular 依賴於單獨開發的各種軟件庫。
Angular 用戶不能錯過潛在的錯誤,並且最新的功能已合併到他們的庫中。
作為回應,Angular 9 將 API Extractor 更新為全新版本。
Angular 使用 Bazel 作為開源設備,支持軟件測試和樓宇自動化。
Bazel 是 Angular 工具鏈參與構建時的工具。
它還提供了 TypeScript 編譯器引擎的優勢,可以生成合同報告、檢測項目導出的 API 表面以及缺失的可見性和不一致。 它生成 API 文檔。
由於 API 提取器等功能和語言服務的定期改進使框架變得高效和高效,這根本不是令人興奮的更新。
Angular 的未來是什麼?
隨著 Angular 9 的推出,社區可以從小型應用程序到高性能應用程序和可觀的開發人員經驗中獲得優勢。
開發人員還擁有更精確的項目結構以及更清晰的語法。
Angular 團隊還預計 APU 不需要進行重大更改。
是否有更多的棄用和創建組件的任何替代方法?
將來,將更多地關注使用更多時間開髮指令和組件,而將更少的時間用於將它們放在一起。
Angular 團隊還在一些修復的編譯器問題和模塊打包方面提供了一些建議。
在這個過程中,團隊還根據 Angular 團隊的建議遷移了 Terser minified,以便更好地解析 Ivy 編譯器。
如果您還希望使用 AngularJS移動應用開發來構建移動應用,那麼現在是聯繫 Elsner 的好時機。
