.NET in Browser - Blazor
什么是Blazor
Blazor 是一個實驗性的. NET web 框架, 使用 C# 和 HTML 在任何瀏覽器中不需要插件即可運行 WebAssembly 程序集。
什么是WebAssembly
WebAssembly是一種新的適合于編譯到Web的,可移植的,大小和加載時間高效的格式,是一種新的字節碼格式。它的縮寫是”.wasm”,.wasm 為文件名后綴,是一種新的底層安全的“二進制”語法。它被定義為“精簡、加載時間短的格式和執行模型”,并且被設計為Web 多編程語言目標文件格式。
這意味著瀏覽器端的性能會得到極大提升,它也使得我們能夠實現一個底層構建模塊的集合.
介紹1?介紹2
為什么要用.NET開發Web項目
穩定,成熟,高效 : .net standard, msbuild
快速,可擴展性,可靠 : .net core用于后端服務
現代語言 : C#
一流的開發工具: Visual studio
客戶端web開發一直是JavaScript的唯一領域。WebAssembly準備通過向語言、框架和工具的完整生態系統開放web來改變這一點。Blazor是一個通過WebAssembly網絡平臺將.net引入網絡的實驗性項目。使用.net進行全棧Web開發,并且不需要插件或代碼轉換,可適用于所有現代瀏覽器,包括移動瀏覽器。可以理解為,這是一個C#語言的Vue, Angular, React。
Browser + Razor = Blazor
Blazor有哪些功能
組件化開發
支持路由
布局
依賴注入
javascript互操作
自動構建
調試
發布
應用程序大小優化
在不支持WebAssembly的瀏覽器中回溯到asm.js
豐富的智能感知和工具
Blazor的兩種工作方式?了解服務器端Blazor框架
1 客戶端模式
將cs和cshtml編譯打包成靜態文件,可直接部署到web服務器,發布文件如下:
2 服務端工作模式
服務端工作模式是要依賴dotnet,dotnet作為后端服務,通過SignalR與瀏覽器通訊
Blazor將要實現的功能
優化運行時性能
AOT編譯到WebAssembly
優化下載大小
改進對.net standard的支持
實時重裝(SignalR斷開后需要刷新頁面)
延遲加載應用程序區域
服務端渲染
安全
表單和驗證
測試框架
跨平臺工具(Blazor+Electron)
服務器端狀態和連接管理
Blazor干貨
Blazor 目前版本是0.6,目前更新比較頻繁,但是已經可以用來開發后端應用了。這里有一套Blazor框架,可以實現Blazor服務端工作方式和客戶端工作方式的切換,不需要修改任何代碼, 前端用Razor實現SEO,后端用Blazor,當Blazor是以Server-Side工作時,直接后端依賴注入,當Blazor以Client-Side工作時,Host將Service 轉換成 Controller 提供API, 前端通過HttpClient調用(防止業務dll泄漏,這個也是Blazor將要解決的安全問題)
原文地址:https://www.cnblogs.com/kingreatwill/p/9865945.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的.NET in Browser - Blazor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [译]ASP.NET Core中使用Me
- 下一篇: 在碰撞中成长 - 北京银行的DevOps