天天看點

Angular 4.0釋出,緻力于減小代碼體積

谷歌釋出了廣受歡迎的angular javascript架構的4.0版本,該版本緻力于縮小生成代碼的體積,以及保持架構的簡化釋出計劃。

因為angular改為使用語義版本控制,是以4.0版本的釋出并不像2.0版本那麼重大。 4.0版本僅僅意味着有開發人員需要注意的突破性變化。所幸這些變化影響并不大,不需要重新學習整個架構。angular開發組成員rob wormald表示,“大多數開發人員應該隻需要更新自己的依賴并進行重新建構。”

angular跳過了版本3,直接釋出了版本4,以便與已經采用了3.x版本号的angular router版本保持同步。

4.0版本有很多新功能,其中大部分都是很小的功能改動。 最大的改進之一就是angular的ahead-of-time(aot)編譯器生成代碼的方式。 angular 開發組成員tobias bosch在設計文檔中提道,一個源代碼僅有245位元組的示例模闆被編譯為32.5倍大的7,951位元組的typescript代碼。 雖然使用aot編譯器對于angular性能有積極的影響,但傳送到浏覽器的帶寬負荷很大。 在他的原型中,bosch能夠将編譯的typescript代碼降低到1,833位元組(比原始代碼大7.5倍,但小于原先編譯器結果的25%)。 在4.0版本的公告中,google提道,開發人員應該注意一個重大改進:

我們已經對aot生成的代碼進行了改進。在大多數情況下,這些改進會使生成的代碼大小減少約60%。 模闆越複雜,改進越明顯。

在候選釋出期間,據許多開發人員回報,遷移到版本4使釋出環境js包(production budles)減少了幾百kb。

在hacker news網站,開發者寫道“從v2更新到v4是無感的”,而且angular開發者cory rylan告訴infoq“這是嘗試angular的最好時機了,性能改進非常驚人!”

這個版本的angular的typescript直接更新到2.1版本。之前使用的是1.8版本的typescript,沒有向後相容性。 其他重要變化是:

動畫功能單獨打包(package)

angular universal(伺服器端渲染項目)與angular同步釋出(現在由angular團隊維護)

模闆的source map功能

優化 ngif和ngfor指令

随着此次釋出,angular團隊已經履行了他們每六個月釋出一次的承諾。 下一個主要版本(至5.0)将于2017年10月的某個時間釋出。完整的釋出時間表可在github上找到。

本文轉自d1net(轉載)

繼續閱讀