日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

通过Blazor使用C#开发SPA单页面应用程序(1)

發(fā)布時間:2023/12/4 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Blazor使用C#开发SPA单页面应用程序(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019年9月23——25日 .NET Core 3.0即將在.NET Conf上發(fā)布! .NET Core的發(fā)布及成熟重燃了.net程序員的熱情和希望,一些.net大咖也在積極的為推動.NET Core而不懈的努力。在這次.NET Core 3.0中一項新的技術(shù)也首次出現(xiàn)在人們的視野,這就是Blazor。說起B(yǎng)lazor也許許多人并不知曉,但這幾年一片熱火朝天的Angular,React,Vue等前端技術(shù)估計無人不知無人不曉。對Blazor就是Microsoft提供的使用C#構(gòu)建SPA的技術(shù),雖然他姍姍來遲,但帶給了大家一個與Angular,React,Vue等框架完全不一樣的體驗、完全不一樣的架構(gòu)。

? ? 由于這是一個全新的技術(shù),目前學(xué)習(xí)資料非常有限,我將自己學(xué)習(xí)到的內(nèi)容記錄匯總在這里以便查閱,也給感興趣的童鞋提供參考。

1.????簡介

? ? Blazor是一個新的Web UI框架,使用C#,Razor和HTML以及WebAssembly (W3C標(biāo)準(zhǔn))。它允許您使用C#而不是JavaScript構(gòu)建交互式Web UI。Blazor應(yīng)用程序由使用C#,HTML和CSS實現(xiàn)的可重用Web UI組件組成。客戶端和服務(wù)器代碼都是用C#編寫的,允許您共享代碼和庫。

2.????在WebAssembly或服務(wù)器上運行

? ? Blazor可以使用WebAssembly直接在瀏覽器中運行客戶端C#代碼。因為它是在WebAssembly上運行的真實.NET,所以您可以從應(yīng)用程序的服務(wù)器端部分重用代碼和庫(客戶端渲染)。

或者,Blazor可以在服務(wù)器上運行您的客戶端邏輯。客戶端UI事件使用SignalR(實時消息傳遞框架)發(fā)送回服務(wù)器。執(zhí)行完成后,所需的UI更改將發(fā)送到客戶端并合并到DOM中(服務(wù)器端渲染)。

3.????Web Assembly (Wasm)

? ? 基于W3C開放標(biāo)準(zhǔn),用于在瀏覽器中運行低級字節(jié)代碼。使用此標(biāo)準(zhǔn),我們可以直接在瀏覽器中運行服務(wù)器端語言(Rust,C ++,C#...)而不是Javascript。

? ? 還記得Java applet和Microsoft Silverlight嗎,我們必須在瀏覽器中安裝插件來運行Java和C#代碼,但是WebAssembly提供了基本標(biāo)準(zhǔn),現(xiàn)在我們不需要任何插件,他的二進(jìn)制格式以.wasm文件表示,能夠提供接近本機(jī)的性能。

4.????建立在開放的Web標(biāo)準(zhǔn)之上

? ? Blazor使用開放的Web標(biāo)準(zhǔn),沒有插件或代碼轉(zhuǎn)換。Blazor適用于所有現(xiàn)代Web瀏覽器,包括移動瀏覽器。

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

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

瀏覽者

版本

Microsoft Edge

當(dāng)前

Mozilla Firefox

當(dāng)前

Google Chrome, 包括 Android

當(dāng)前

Safari, 包括 iOS

當(dāng)前

Microsoft Internet Explorer

不支持 *

* Microsoft Internet Explorer 不支持WebAssembly。

Razor 服務(wù)器端渲染支持的瀏覽器

瀏覽者

版本

Microsoft Edge

當(dāng)前

Mozilla Firefox

當(dāng)前

Google Chrome, 包括 Android

當(dāng)前

Safari, 包括 iOS

當(dāng)前

Microsoft Internet Explorer

11x17 *

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

5.????單頁面應(yīng)用程序(SPA)

? ? 單頁面應(yīng)用程序(SPA)是一種構(gòu)建在瀏覽器中單個頁面上的Web應(yīng)用程序,頁面塊可以動態(tài)呈現(xiàn)而無需呈現(xiàn)完整的頁面。

Angular,React,Vue和許多其他語言為構(gòu)建SPA提供了支持,但所有這些語言都構(gòu)建在相同的Javascript語言之上。現(xiàn)在,Microsoft提供了使用C#和Razor頁面構(gòu)建SPA的基礎(chǔ),類似ASP.Net Core中的語法,所以它被稱為Blazor。

? ? Blazor是ASP.Net Core提供的新的Web框架,用于在瀏覽器中使用C#和WebAssembly標(biāo)準(zhǔn)構(gòu)建SPA。

? ? ASP.Net Core是一個在Linux,Mac或Windows操作系統(tǒng)上運行的開源Web框架。

6.????JavaScript互操作

? ? C#代碼可以輕松調(diào)用JavaScript API和庫。在C#中編寫邏輯時,您可以繼續(xù)使用存在于客戶端UI中的大型JavaScript庫生態(tài)系統(tǒng)。當(dāng)然如果愿意您還可以從 JavaScript 調(diào)用 .NET 實例方法和靜態(tài)方法。

7.????優(yōu)點

  • 受益于 .NET 的性能、可靠性和安全性,提供近乎原生的性能,高效且便攜

  • 使用 C# 代替 JavaScript 來編寫代碼。

  • 利用現(xiàn)有的 .NET 庫生態(tài)系統(tǒng),我們可以在網(wǎng)頁中使用現(xiàn)有的豐富.net生態(tài)系統(tǒng)功能。

  • 在服務(wù)器和客戶端之間共享應(yīng)用邏輯。

  • 始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。

  • 以一組穩(wěn)定、功能豐富且易用的通用語言、框架和工具為基礎(chǔ)來進(jìn)行生成。

  • 代碼維護(hù)和調(diào)試更可靠。

8.????缺點

  • Javascript已經(jīng)非常成熟,許多組件庫已經(jīng)存在于市場中。

  • 具有Web Assembly標(biāo)準(zhǔn)的Blazor是市場上的新手,需要時間才能成熟,而且.net是WebAssembly眾多實現(xiàn)中的早期版本。

原文鏈接:https://www.cnblogs.com/liuxtj/p/11344539.html


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結(jié)

以上是生活随笔為你收集整理的通过Blazor使用C#开发SPA单页面应用程序(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。