依照著發布節奏,每6個月一次的主要版本更新,前端網頁程式開發框架Angular正式釋出第6版。這個版本打破框架障礙,讓開發者能輸出組件給其他框架使用,還強化命令列工具Angular CLI,也對一系列工具鏈進行更新,並宣布從Angular 4開始,每一個主要更新都為長期支援版本。

新釋出的開發框架開始打破框架!不只剛發布的漸進式網頁應用程式開發框架Dojo 2.0,提供工具讓開發者得以輸入及輸出網頁組件,現在連Angular也可以,在版本6中,其Angular Elements工具讓開發者可以打包Angular組件成為Custom elements,而Custom elements為Firefox、Chrome、Opera與Safari等先進瀏覽器皆支援的網頁平臺公共標準。

因此開發者現在可以將愛用的Angular組件,像是日期選擇器等,以Angular Elements打包後,提供給React的應用程式使用,這個過程會像是使用jQuery或是VueJS一樣容易。

在Angular 5.1才釋出穩定版的Angular Material以及Angular CDK,在Angular 6中新增了樹狀結構組件以展示階層資料,依照資料表格組件的模式,所有樹狀結構的指令都包含在CDK中,而在Angular Material提供的樣式,與Material Design擁有相同的使用經驗,有一般以及巢狀的樹結構。

另外,Angular 6藉由改變相依關係的運作方式,提供程式碼最佳化的功能。官方表示,他們將模組參照服務(Modules Referencing Services)改變為服務參照模組(Services Referencing Modules),這個動作將讓Angular能夠在最後發布的程式中,只綑綁真正用到的模組。這個方法被稱為相依注入(Dependency Injection,DI),相依注入系統只在創建物件實例時提供依賴的物件。

Angular CLI主要新增兩個套件指令ng update與ng add。ng update會分析package.json檔案,針對開發者的應用程式推薦更新,而且不僅是建議正確版本的相依關係,還能確保相依關係的同步。而當第三方相依專案提供ng更新Schematics,這些專案也能在需要進行重大改變時自動更新程式碼。

另一個ng add指令則可以幫開發者專案輕鬆的添加新功能,該指令使用套件管理器下載新的相依檔案,並且觸發安裝腳本更新專案配置、添加新的相依關係或是架構特定套件的初始化程式碼。

Angular預告接下來將會導入新的渲染引擎Ivy,而這也將是從第一版到現在的第三個渲染引擎,Ivy更新了渲染工作管線,以加速整體渲染速度。值得一提的是,Ivy在程式碼最佳化的工作也參了一腳,Ivy直接生成模板指令,而非將渲染模板的資料傳遞給內容直譯器,這代表更小的綑綁包以及更快的啟動速度,甚至還支援中斷點,提供堆疊追蹤功能。

官方提到,他們之前宣布只有Angular 4以及Angular 6為長期支援版本,但考慮跨兩個版本的功能差異太大,會有更新實務的困難,同時也讓大型專案有更多時間規畫更新,因此他們從Angular 4開始,為每個主要更新版本都提供長期支援,每個長期支援為期18個月,約有6個月的積極開發期,剩下的12個月僅修補關鍵錯誤以及安全補丁。


Advertisement

更多 iThome相關內容