Google宣布將開始合併Angular與Wiz兩個框架,以滿足現代網頁應用程式開發的混合需求,使得Angular在提供豐富互動性的同時,也能擁有高效能。Google預計將Wiz功能逐步透過Angular開源,而Google表示,這項計畫的主要目標,還是在於改進Angular框架。

Wiz是Google內部的一個網頁框架,主要用於開發注重效能的重要應用程式,像是Google搜尋這類盡可能快速呈現結果,互動性相對較低的應用程式。Angular則是一個優先考慮開發人員體驗和複雜使用者介面的框架,專門用於開發需要高度互動的應用程式,像是Google Gemini和Google Analytics皆是使用Angular開發。

Google考量還有許多用戶使用慢速網路或是低階裝置存取Google應用程式,因此在於控制初始載入延遲和JavaScript的量相當講究。而Wiz框架透過多種方式提升這些用戶的使用體驗,主要是採用伺服器端渲染(Server-Side Rendering,SSR)讓頁面上所有內容,包括互動元件,都以高度最佳化的串流解決方案渲染,消除大部分渲染用的JavaScript。Wiz只載入頁面上實際呈現的互動元件程式碼,而為了避免客戶端丟棄使用者事件,Google會在客戶端嵌入一個小型函式庫,來監聽使用者事件並進行重播。

雖然Wiz所提供的伺服器端渲染優先應用程式開發方法,可以提供終端用戶最佳效能,但是在具有高度互動的應用程式,卻會大幅增加開發人員的複雜。而且即便是追求高效能的應用程式,也需要提供更多的互動功能,才能保持使用者的參與度。

根據HTTPArchive資料,過去6年間JavaScript的程式碼在桌面上成長37%,而在行動裝置也成長了36%以上,Google指出,高度互動的應用程式使用越來越多的JavaScript,而這明顯影響了網頁程式效能。綜合網頁開發目前面臨的混合需求,Google決定整合Angular與Wiz各自的優勢,讓Angular開發人員不需要在開發體驗和效能間抉擇。

在實作中,目前Angular改進的成果包括可延遲視圖(Deferrable View)以及部分Hydration的功能,都來自於Wiz精細程式碼載入以及事件委派函式庫的衍生。同時,Wiz則加入Angular管理和更新使用者介面的Signals函式庫,採用了更傾向宣告式的介面更新機制,當資料變化時,與資料相關的使用者介面才會更新,高精細度的更新策略使得應用程式可以更快地回應用戶操作,減少不必要的計算和渲染。

Google的長期目標是要合併Angular和Wiz,這個過程會長達數年,透過逐漸在Angular開源Wiz功能,最終完成合併。

熱門新聞

Advertisement