摘要:在理想的情況下,我們甚至可以立即將應(yīng)用程序升級到。于是,在中,我們可以得到些什么正如我們所看到的,的新增特性除之外并不是很亮眼,盡管這些特性非常好用,但對于大多數(shù)應(yīng)用程序來說并不重要。
轉(zhuǎn)載請注明出處:葡萄城官網(wǎng),葡萄城為開發(fā)者提供專業(yè)的開發(fā)工具、解決方案和服務(wù),賦能開發(fā)者。
本文由葡萄城翻譯并發(fā)布
Angular 作為一款優(yōu)秀的前端框架,自誕生之日起,就致力于面向前端開發(fā)者提供一整套全功能解決方案。與其他流行框架所追求的理念不同,Angular并非作為一款可以并入 Web 應(yīng)用程序的輕量級框架而生,而是設(shè)計(jì)為:包含了一個(gè)完整的工作流,用于從項(xiàng)目創(chuàng)建開始,持續(xù)地維護(hù)并更新你的應(yīng)用程序。
2019對于 Angular來說意義非凡,因?yàn)槠浒薎vy 等功能的全新版Angular 8 將于本年內(nèi)正式發(fā)布。盡管 Angular 技術(shù)團(tuán)隊(duì)仍沒有對外公布 Angular 8 正式版發(fā)布日期,但其beta版在本月上線已幾乎沒有懸念。Angular 8的發(fā)布近在咫尺!
那么,在 Angular 8 中,我們可以期待些什么?
Angular 8 中有什么新功能盡管大多數(shù)開發(fā)者都在關(guān)注Ivy,但其實(shí) Angular 8 中還是有很多值得稱道的亮點(diǎn):
JavaScript中的差異化加載
作為構(gòu)建過程的一部分,Angular CLI生成的新應(yīng)用程序現(xiàn)在將包含用于舊版JavaScript(ES5)和現(xiàn)代JavaScript(ES2015 +)的多帶帶軟件包。該包在客戶端中實(shí)現(xiàn)差異化加載,以提高瀏覽器的加載速度和傳輸間隔時(shí)間(TTI)。這是一個(gè)好消息,意味著支持ES2015的瀏覽器將能夠下載更小、更高效的應(yīng)用程序包,而這些應(yīng)用程序包的加載速度和渲染速度都比以往更快。
Ivy (預(yù)覽版)視圖引擎搶先試用
您可在應(yīng)用程序中開始使用Ivy渲染器,并向Angular團(tuán)隊(duì)提供使用反饋,以便其及時(shí)做出優(yōu)化和修復(fù)。
Angular Router的向后兼容模式
Angular 添加了向后兼容模式,以降低大型項(xiàng)目的升級成本。Angular Router將可以使用 $ route APIs 在現(xiàn)有的Angular應(yīng)用程序中,選擇延遲加載部分 Angular 1.x應(yīng)用程序。在理想的情況下,我們甚至可以立即將Angular 1.x應(yīng)用程序升級到Angular 2+。
然而,現(xiàn)實(shí)并非如此。直到今天,還有大量傳統(tǒng)的Angular應(yīng)用程序仍在為企業(yè)提供服務(wù)。而這些企業(yè)沒有選擇升級的原因很簡單:它們運(yùn)行良好,并且在完成重寫時(shí)無需太多投入。
Angular 1.x的時(shí)代已經(jīng)結(jié)束,之后不會有任何新的更新,直到2021年6月30日。因此,對于從事大型Angular 1.x應(yīng)用程序開發(fā)的團(tuán)隊(duì),現(xiàn)在正是選擇升級的最佳時(shí)間。
改良的Web Worker綁定方式
Web Worker是編寫主線程運(yùn)行代碼的好方法,可用于提高應(yīng)用程序的速度和并發(fā)性。為了達(dá)到這一目標(biāo),Angular團(tuán)隊(duì)在 CLI 中添加了改良的 Web Worker綁定支持。
可選的信息共享機(jī)制
為了有效收集您的反饋,更好地建設(shè) Angular社區(qū),Angular團(tuán)隊(duì)在CLI中添加了可選的信息共享機(jī)制。在您同意的情況下,將開始收集您的命令行和構(gòu)建速度等匿名信息。
依賴關(guān)系更新
與往常一樣,Angular團(tuán)隊(duì)正在更新對TypeScript、RxJS和Node等工具的依賴關(guān)系,以便與 Angular 生態(tài)系統(tǒng)的其余部分保持同步。
Angular Ivy 是什么?作為下一代 Angular 的視圖引擎,Ivy的出現(xiàn)旨在徹底縮減代碼尺寸并增強(qiáng)系統(tǒng)靈活性。與目前的Angular View Engine相比,Ivy具有以下優(yōu)勢:
通過 Angular 編譯器生成的代碼現(xiàn)在將更容易讓開發(fā)者閱讀和理解
項(xiàng)目重建時(shí)間將明顯加快
有效減少了負(fù)載大小,瀏覽器用于下載和解析應(yīng)用程序的時(shí)間將更短
更好的模板類型檢查,以便您在項(xiàng)目構(gòu)建初期,就可捕獲更多BUG,以防止用戶在運(yùn)行時(shí)遇到它們
除此之外,Angular Ivy與現(xiàn)有的Angular應(yīng)用程序廣泛兼容。因此,在理想的情況下,您將無需更改應(yīng)用程序即可獲得Ivy的全部支持。這也是為什么使用Angular 8和Ivy構(gòu)建當(dāng)前的Angular應(yīng)用程序會更加便利。
Ivy(預(yù)覽版)可能存在的問題目前已知的是,Ivy 的國際版和Angular Universal版尚未完全兼容。當(dāng)然,如果您在開發(fā)過程中遇到任何使用BUG,請立即向Angular技術(shù)團(tuán)隊(duì)反饋,以便他們能夠及時(shí)解決問題并將您的建議作為 Ivy 正式版的一部分。
如果您的Angular應(yīng)用程序支持多語言或使用服務(wù)器端呈現(xiàn)數(shù)據(jù),請不要指望它能與Ivy完美結(jié)合。除此之外,用戶可能遇到的另一個(gè)問題就是Angular Material,目前來看,使用Angular Material的應(yīng)用似乎與即將發(fā)布的Angular 8預(yù)覽版Ivy不太匹配。
Angular 8 對 Web Worker 的支持對于那些對Web Worker 還不熟悉的開發(fā)者來說,Web Worker標(biāo)志著前端開發(fā)中的一項(xiàng)重要創(chuàng)新,在此之前,所有 Web 應(yīng)用程序僅限于使用單線程。而隨著 Web Worker 的出現(xiàn),可以將CPU分配到多帶帶的硬件線程中,使瀏覽器環(huán)境擁有多線程,從而提升項(xiàng)目開發(fā)效率。
在Angular 8更新之前,使用 Web Worker需要注意的問題是:在worker中運(yùn)行的代碼不能與應(yīng)用程序的其余部分位于同一JavaScript腳本文件中。它必須是分開的。因此,對于曾經(jīng)希望借助Angular CLI等工具,自動將JavaScript文件拆分、綁定到更少文件夾下的效果往往不佳。而Angular 8的新特性之一便是改進(jìn)了使用Angular CLI捆綁WebWorker的支持,這項(xiàng)改進(jìn)意味著您將走向多并發(fā)、自動化的Web Worker之路。
Angular 8 對 TypeScript 的支持關(guān)于 Angular 8 中的依賴更新,包括了對Angular依賴項(xiàng)和最新版本的更新,如RxJS和TypeScript等框架。這看起來似乎是一個(gè)微小的改進(jìn),但卻同樣受歡迎,特別是TypeScript部分。
Angular 8 的性能提升雖然 Angular 8 帶來了很多令人稱贊的功能,但是真正促使我們升級的很大一部分原因取決于其性能的提升!為證實(shí)這一點(diǎn),我們將對 Angular 7.2 和Angular 8.0.0-beta.7 進(jìn)行全面對比。
該性能測試是基于ng new創(chuàng)建的新應(yīng)用程序運(yùn)行,并使用ng build --prod構(gòu)建的。測試本身使用了Chrome的審核標(biāo)簽完成,通過 “Applied Fast 3G,4X CPU Slowdown” 的設(shè)置來模擬在移動設(shè)備上運(yùn)行。
Angular 7.2
使用Angular 7.2的正式版本生成main.js的大小為240KB。具體數(shù)據(jù)如下圖:
Angular 8.0.0-beta.7
Angular 8 beta版本的main.js文件大小與Angular 7.2相同:240KB。由此可見,文件大小沒有任何改變,但讓我們對比一下性能數(shù)據(jù):
Angular 8 看起來更棒!相對于Angular 7.2,獲得了相當(dāng)不錯(cuò)的性能提升。
于是,在 Angular 8 中,我們可以得到些什么正如我們所看到的,Angular 8的新增特性除 Ivy 之外并不是很亮眼,盡管這些特性非常好用,但對于大多數(shù)應(yīng)用程序來說并不重要。
基于這一點(diǎn),您應(yīng)該將應(yīng)用程序升級到Angular 8,還是堅(jiān)持使用Angular 7?毫無疑問,你應(yīng)該升級它們。即便功能上沒有任何大的重大更新,但通過 Angular 8 新增的差異化加載,您將獲得顯著的性能提升。
更重要的是,升級到Angular 8將確保您的應(yīng)用程序?yàn)镮vy做好準(zhǔn)備,即便目前 Ivy只是Angular 8提供的一個(gè)可選預(yù)覽。如果您的應(yīng)用程序需要兼容 Ivy,那么最好從現(xiàn)在開始嘗試。
或者,您也可以選擇一條更加快捷且簡便的方式,比如使用一款相當(dāng)成熟的商業(yè)化開發(fā)工具——WijmoJS。這樣,您就不必考慮項(xiàng)目中前端框架的兼容性和版本更新問題,因?yàn)樗坏瑫r(shí)兼容了Angular、React、Vue、TypeScript和Ionic 等框架,還時(shí)刻緊隨技術(shù)潮流,第一時(shí)間保持對框架最新版本的全面支持。
本文是由葡萄城技術(shù)開發(fā)團(tuán)隊(duì)發(fā)布,轉(zhuǎn)載請注明出處:葡萄城官網(wǎng)
了解可嵌入您系統(tǒng)的在線 Excel,請前往SpreadJS純前端表格控件
與開發(fā)人員分享前端技術(shù)趨勢、交流心得技巧,請加入葡萄城“前端技術(shù)交流群”(QQ群:720389894)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103527.html
摘要:延伸閱讀學(xué)習(xí)與實(shí)踐資料索引與前端工程化實(shí)踐前端每周清單半年盤點(diǎn)之篇前端每周清單半年盤點(diǎn)之與篇前端每周清單半年盤點(diǎn)之篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(ID:frontshow),及時(shí)獲取前端每周清單;本文則是對于半年來發(fā)布的前端每周清單...
摘要:同時(shí),前端技術(shù)也慢慢的趨于穩(wěn)固,自成一套體系。從月份開始,微信正式將公測了小程序?;谛〕绦虻拈_發(fā),也將成為國內(nèi)的前端的一大重點(diǎn)。 前言 臨近2017的尾聲,總是希望來盤點(diǎn)一下這一年中前端的發(fā)展。到目前為止,前端的井噴期也快臨近尾聲了。并不像幾年前一樣,總是會有層出不窮的新東西迸發(fā)出來。同時(shí),前端技術(shù)也慢慢的趨于穩(wěn)固,自成一套體系。如果你喜歡我的文章,歡迎評論,歡迎Star~。歡迎關(guān)注...
摘要:同時(shí),前端技術(shù)也慢慢的趨于穩(wěn)固,自成一套體系。從月份開始,微信正式將公測了小程序。基于小程序的開發(fā),也將成為國內(nèi)的前端的一大重點(diǎn)。 前言 臨近2017的尾聲,總是希望來盤點(diǎn)一下這一年中前端的發(fā)展。到目前為止,前端的井噴期也快臨近尾聲了。并不像幾年前一樣,總是會有層出不窮的新東西迸發(fā)出來。同時(shí),前端技術(shù)也慢慢的趨于穩(wěn)固,自成一套體系。如果你喜歡我的文章,歡迎評論,歡迎Star~。歡迎關(guān)注...
摘要:前端每周清單第期現(xiàn)狀分析與優(yōu)化策略單元測試爬蟲作者王下邀月熊編輯徐川前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清單第 29 期:Web 現(xiàn)狀分析與優(yōu)化策略...
摘要:作為年最具潛力,乃至最具影響力的前端開源項(xiàng)目真的不為過。通過上的介紹,這個(gè)項(xiàng)目是偏右阿里的前端大牛和阿里的前端大牛主導(dǎo),而且從中也不難看出有些部分是來自參與過的項(xiàng)目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
閱讀 1859·2021-11-22 15:24
閱讀 1315·2021-11-12 10:36
閱讀 3216·2021-09-28 09:36
閱讀 1844·2021-09-02 15:15
閱讀 2759·2019-08-30 15:54
閱讀 2399·2019-08-30 11:02
閱讀 2398·2019-08-29 13:52
閱讀 3548·2019-08-26 11:53