Blazor 準備好為企業服務了嗎?

張善友發表於2020-11-07

如果您正在編寫 .NET Web 應用程式,您很可能已經意識最近一年在.NET Web開發領域的熱點都是 Blazor 的。如果你還沒有了解Blazor,它允許您使用 C# 來編寫 Web UIs,傳統上您必須使用 JavaScript。 過去兩年,我已經看到它從一個可愛的微軟實驗專案演變成他們認為是生產就緒的專案的全過程。

隨著下週正式釋出.NET 5 ! 我們看到Blazor的很多改進:CSS隔離、JavaScript隔離元件虛擬化切換事件支援、延遲載入、伺服器端預渲染等等。這些改進可幫助 Blazor 趕上領先的 SPA 框架的基本功能,如 Vue、React 和 Angular。

如果你是為一家規模合適的公司編寫程式碼,你可能會想Blazor 是否已經為企業應用開發做好準備了。你能說服你的老闆們用它做新的應用開發, 還可能是重構現有的應用程式嗎?我想已經準備好了。然而,這不是一個容易的回答"是"--它涉及到一個微妙的答案,不僅僅是新技術的問題。這裡先分享一篇相關的英文文章:

我們將回答一些常見問題來回答這個問題:

Blazor是另一個Silverlight嗎?

如果你使用 Blazor開發了一小會兒,肯定感受到這是一個無理的論點,通常問這個問題的都是對Blazor 不瞭解而憑感覺提出的問題,但這是一個你在 .NET生態中必須回答的問題。 Blazor 是基於 WebAssembly 標準構建的(使用 C# 而不是 JavaScript 來構建 Web 應用程式),而不是使用可以突然被放棄的微軟獨家技術構建的。它不需要像Silverlight那樣的瀏覽器外掛。

Blazor如何幫助團隊更快地交付?

Blazor 降低了通常與 JavaScript 關聯的前端學習曲線,並允許開發人員使用他們的語言和工具完成工作。Blazor不會取代JavaScript 。但是,如果您是服務與一家擁有大多數 C# 開發人員的公司,則工作效率將明顯提高。 團隊只需要熟悉核心 SPA 概念,但 .NET 領域的知識都是可以複用的,非常典型的一種情況就是大量從事Winform開發的同學,轉換到Blazor開發Web的速度將會是很愉快。

是否支援良好的生態系統?

由於 Blazor 是在 .NET 生態系統中,因此它也具有了微軟的官方支援,就像任何其他產品一樣。此外,Microsoft 繼續投入大量精力,並且具有悠久的向後相容性歷史。 生態系統不像Angular和 React 那樣進化,它們已經取得了非常大的發展,但正在極大地增長。正如彼得·沃格爾所說,Blazor 已經和 Vue 相比,具有 25%的收益(來自谷歌趨勢)。

效能好嗎?

與其他 SPA 框架相比,Blazor 的效能是不是夠好了? 在大多數情況下,會有一些等待 - Blazor Web Assembly 具有較大的下載大小(如它在瀏覽器中載入的 .NET),並且 Blazor Server 具有每個使用者互動的網路躍點。.NET團隊在解決效能方面取得了很大進展,AOT 編譯是 .NET 6 中 ASP.NET 的最大的功能請求(並且也會影響 ASP.NET 中的非 Blazor 應用程式)。如果您正在處理海量資料,您可能需要等待這些改進,但在大多數業務情況下應該適合這些改進。

相關文章