經過Blazor使用C#開發SPA單頁面應用程序(1) - 簡介及特色

經過Blazor使用C#開發SPA單頁面應用程序(1) - 簡介及特色html

經過Blazor使用C#開發SPA單頁面應用程序(2) - 開發環境前端

經過Blazor使用C#開發SPA單頁面應用程序(3) - 基礎知識程序員

經過Blazor使用C#開發SPA單頁面應用程序(4) - Ant Design Button瀏覽器

 

    2019年9月23——25日 .NET Core 3.0即將在.NET Conf上發佈! .NET Core的發佈及成熟重燃了.net程序員的熱情和但願,一些.net大咖也在積極的爲推進.NET Core而不懈的努力。在此次.NET Core 3.0中一項新的技術也首次出如今人們的視野,這就是Blazor。提及Blazor也許許多人並不知曉,但這幾年一片熱火朝天的Angular,React,Vue等前端技術估計無人不知無人不曉。對Blazor就是Microsoft提供的使用C#構建SPA的技術,雖然他姍姍來遲,但帶給了你們一個與Angular,React,Vue等框架徹底不同的體驗、徹底不同的架構。安全

    因爲這是一個全新的技術,目前學習資料很是有限,我將本身學習到的內容記錄彙總在這裏以便查閱,也給感興趣的童鞋提供參考。服務器

1.    簡介架構

    Blazor是一個新的Web UI框架,使用C#,Razor和HTML以及WebAssembly (W3C標準)。它容許您使用C#而不是JavaScript構建交互式Web UI。Blazor應用程序由使用C#,HTML和CSS實現的可重用Web UI組件組成。客戶端和服務器代碼都是用C#編寫的,容許您共享代碼和庫。app

2.    在WebAssembly或服務器上運行框架

    Blazor可使用WebAssembly直接在瀏覽器中運行客戶端C#代碼。由於它是在WebAssembly上運行的真實.NET,因此您能夠從應用程序的服務器端部分重用代碼和庫(客戶端渲染)。工具

或者,Blazor能夠在服務器上運行您的客戶端邏輯。客戶端UI事件使用SignalR(實時消息傳遞框架)發送回服務器。執行完成後,所需的UI更改將發送到客戶端併合併到DOM中(服務器端渲染)。

3.    Web Assembly (Wasm)

    基於W3C開放標準,用於在瀏覽器中運行低級字節代碼。使用此標準,咱們能夠直接在瀏覽器中運行服務器端語言(Rust,C ++,C#...)而不是Javascript。

    還記得Java applet和Microsoft Silverlight嗎,咱們必須在瀏覽器中安裝插件來運行Java和C#代碼,可是WebAssembly提供了基本標準,如今咱們不須要任何插件,他的二進制格式以.wasm文件表示,可以提供接近本機的性能。

4.    創建在開放的Web標準之上

    Blazor使用開放的Web標準,沒有插件或代碼轉換。Blazor適用於全部現代Web瀏覽器,包括移動瀏覽器。

    在瀏覽器中運行的代碼在與JavaScript框架相同的安全沙箱中執行。

 

Blazor 客戶端渲染支持的瀏覽器

瀏覽者

版本

Microsoft Edge

當前

Mozilla Firefox

當前

Google Chrome, 包括 Android

當前

Safari, 包括 iOS

當前

Microsoft Internet Explorer

不支持 *

* Microsoft Internet Explorer 不支持WebAssembly。

Razor 服務器端渲染支持的瀏覽器

瀏覽者

版本

Microsoft Edge

當前

Mozilla Firefox

當前

Google Chrome, 包括 Android

當前

Safari, 包括 iOS

當前

Microsoft Internet Explorer

11x17 *

*須要額外的填充代碼 (例如, 可經過Polyfill.io捆綁添加承諾)。

5.    單頁面應用程序(SPA)

    單頁面應用程序(SPA)是一種構建在瀏覽器中單個頁面上的Web應用程序,頁面塊能夠動態呈現而無需呈現完整的頁面。

Angular,React,Vue和許多其餘語言爲構建SPA提供了支持,但全部這些語言都構建在相同的Javascript語言之上。如今,Microsoft提供了使用C#和Razor頁面構建SPA的基礎,相似ASP.Net Core中的語法,因此它被稱爲Blazor。

    Blazor是ASP.Net Core提供的新的Web框架,用於在瀏覽器中使用C#和WebAssembly標準構建SPA。

    ASP.Net Core是一個在Linux,Mac或Windows操做系統上運行的開源Web框架。

6.    JavaScript互操做

    C#代碼能夠輕鬆調用JavaScript API和庫。在C#中編寫邏輯時,您能夠繼續使用存在於客戶端UI中的大型JavaScript庫生態系統。固然若是願意您還能夠從 JavaScript 調用 .NET 實例方法和靜態方法。

7.    優勢

  • 受益於 .NET 的性能、可靠性和安全性,提供近乎原生的性能,高效且便攜
  • 使用 C# 代替 JavaScript 來編寫代碼。
  • 利用現有的 .NET 庫生態系統,咱們能夠在網頁中使用現有的豐富.net生態系統功能。
  • 在服務器和客戶端之間共享應用邏輯。
  • 始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
  • 以一組穩定、功能豐富且易用的通用語言、框架和工具爲基礎來進行生成。
  • 碼維護和調試更可靠。

8.    缺點

  • Javascript已經很是成熟,許多組件庫已經存在於市場中。
  • 具備Web Assembly標準的Blazor是市場上的新手,須要時間才能成熟,並且.net是WebAssembly衆多實現中的早期版本。
相關文章
相關標籤/搜索