使用Asp.net Core3Blazor 的全栈式网站开发体验
最新的微軟視頻:?Full stack web development with ASP.NET Core 3.0 and Blazor - BRK3017??
以下是重要步驟截圖配注解,注意圖多殺貓:
此圖是.Net Core3的全棧解決方案示意圖。
????????話說此圖的第一部分Client 是可以靈活替換的,哪怕它是Vue,Angular 或者 JQuery 都是很完美的一個解決方案的。我想到現在如果是10年前,我還是有點害怕的,那時候啟動個項目還是很難的一件事情,那是JQ的時代,插件的時代,IFrame的時代,所有的公司都在做自己的框架,然后鼓吹一番!那個時代也有很多強大的庫,比如ExtJs,Hae之流就是巔峰的產物,但我用的比較少,因我那時一直是忙著到處找插件,或自己寫插件。為什么那么長的時代沒有一個出色的,一統江湖的框架(jQuery不算,它只是基石)?現在看來,我認為是沒有產生一個一統江湖的Router,而Router是框架的粘合劑。那時不太強調Router的概念,不就是添加Iframe嘛,不就是History Api嘛,你牛掰,還做了Page的生命周期, 都是這樣的聲音,Router部分即使做了也吹不響,吹響了也沒人跟風用的,但沒有的話,新手小白們還很難開頭做項目,加之大量的后端在兼職寫jsp。于是到這現在這個美好時代,有Vue,Angular了,一個命令行就做好框架,大家且行且珍惜吧!
????????第二部分,廣大Javaer 請手動略過,而且Neter們可以再次信仰充值。Mvc 和 Web Api的Controller完美統一,MVC和Razor pages 的視圖語法統一,Razor Pages可以靈活的介入而無需MVC的諸多約定(asp的再生)。? SignalR的簡單至極的用法,支持Web, ?.Net ?,和Java的客戶端連接,它的后臺開發你可以用Web服務承載,甚至可以用控制臺或桌面程序控制。說到桌面程序可以控制每個Client ,讓我想到了網絡游戲的開發,或許SignalR可以支持網絡游戲的后臺管理部分工作,大膽設想一下,以后網絡游戲的網絡連接模塊全用SignalR編寫,?而游戲的其它重心就只剩圖形和邏輯模塊(即游戲的Client開發)了。我完全沒接觸過游戲開發,也不知道已經有的聯網模塊如何的 Beautiful,但我認為SignalR是微軟送給全世界開發者的禮物,無論他是用什么語言,在什么領域。因為它的開發模型簡單至極,美到要死!
????? ? 第三部分,gRPC的到來是一場革命,雖然它把后端的戰線又拉長了1公里,但這1公里是超值的。暢想以后廣大的Net, Java, Python程序員可以歡座一堂,撫鍵盤而言歡了。而Work Services是.Net Core3中帶來的服務功能,就是一個持續的進程。? ??
不知道細心的人有沒有發現沒有上圖沒有EF Core(數據層)呀!其實EF Core的位置在Web Api, ?Worker services,和gRPC里面,它地位只是一個小工具了。
以下是啟動步驟,可調試且安全的Blazor!
簡單提到了Blazor?的路由@page?,?頁面即組件, Razor文件及Razor語法,如何發起對后臺的Http請求,之后
演示了第三方的表格組件和前端下載Excel文件
? ? ? ??
如何導出Excel文件
瀏覽器側導出文件本來是弱項,此處到底是如何實現保存文件的需要研究,真的是Net Core實現的?
重要的伙伴
Client-side:? 前端加載量大,依賴瀏覽器的wasm能力,響應快。而且微軟標注了?Future
Server-side :前端加載小,SignalR,后端負載大,頁面元素也是實時傳輸的, 它是隨3.0正式發布的。?
這個模式我認為是微軟又一次的強造的東東,力量大就是好,直的能掰彎,彎的能掰直,但真的能否推廣開真的是懸疑。這又是微軟的造車計劃,參考asp.net平臺(其它公司只有造輪子的能力,微軟向來是造車的)
服務端模式初始加載很少,400k,?瀏覽器徹底變成一個傀儡。mvc?框架中的View,? Razor Pages,以及Blazor的組件都是Rendering Model ,是隨著請求發送給瀏覽器的,而組件的State是放在Server端的,?建議第32~33分鐘反復聽幾次!
現在的Blazor項目,瀏覽器端和后端像一個整體的單機程序一樣,比如wpf,winform開發,組件是有狀態的,但你不要關心它即可:? ?(這是微軟的asp.net 的view_state失敗后的一次絕地反擊,不明白為什么微軟認定了state這種東西了,難道現在的無狀態HTTP不爽嗎)
ng & asp.net core3完美合體
我們有新的Worker Services模板了,它是長時間運行的工作進程,可以承載在windows? 的services, systemd,WebJobs,容器中,
aps.net core的?易用的配置項,日志及DI都是內置的,所有的一切只需要你新建一個asp.net core項目,選擇Work Services模板即可!
這又是極簡的框架,? 還是微軟大法好!
添加 windows的?服務支持,它就很容易部署成service了,以下是步驟!
再加一句話,然后發布項目。
啟動服務即可:
一個批薩訂單的例子
一次啟動多個項目的設置:
proto文件是自動編譯的。
預告一下:NET Core 3.0 launches at .NET Conf 2019 September 23-25, a free, virtual developer event.
原文鏈接:https://my.oschina.net/u/1540190/blog/3089863
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的使用Asp.net Core3Blazor 的全栈式网站开发体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .Net Core2.1 秒杀项目一步步
- 下一篇: k8s集群部分常见问题处理