2020.11.10日DOTNET正式發(fā)布.NET 5.0,.net 5.0 是 3.1 之后 .NET Core 的下一個主要版本,可以理解為.NET 5.0 = .net core vnext。為不叫 .NET Core 4.0 官網(wǎng)上描述主要有兩個原因:
1. 跳過了版本號 4.x 以避免與 .NET Framework 4.x 混淆;
2. 從名稱中刪除了"Core",以強調這是 .NET 前進的主要方向。.NET 5.0 支持的應用程序類型和平臺比.NET Core 和 .NET Framework更多。
.net 5
.NET 5新特性
.NET 5 其中包括很多新特性以及性能優(yōu)化,如C# 9更新、F# 5更新、Visual Basic 更新、單文件應用、應用程序修剪、Windows ARM64 和 ARM64 內部函數(shù)、轉儲調試的工具支持、性能改進(垃圾收集GC、json操作、正則表達式、異步值任務池、容器大小優(yōu)化等)。
.NET 5下的全棧開發(fā)-B/S模式
我們知道.net下的web開發(fā)從最古老的asp.net WebForm-> asp.net mvc -> .net core mvc 然后再到現(xiàn)在流行的前后端分離(前端vue,angular,react 后端微服務/RESTful 接口)。
以前純后端的同學想進行B/S模式全棧開發(fā)不懂JS肯定是行不通的,現(xiàn)在從.net core 3開始到現(xiàn)在的.net 5發(fā)布,.net 下的WebAssembly框架Blazor完全可以讓你進行全棧開發(fā)成為了可能。
Blazor簡介:Blazor 是一個開放源代碼和跨平臺的Web UI框架,使用 .NET 代替 JavaScript 來創(chuàng)建豐富的交互式 UI。簡單地說Blazor可以使用.NET代碼(C#/VB.NET)來實現(xiàn)的網(wǎng)頁交互功能,可以利用現(xiàn)有的 .NET 庫生態(tài)系統(tǒng),對.net開發(fā)者比較友好不需要重新學習React、Vue、Angular等框架。關于性能的更不能擔心,Razor和HTML最終會編譯成WebAssembly 運行在支WebAssembly 的瀏覽器上。
Bootstrap Blazor 管理系統(tǒng)
Blazor UI生態(tài):框架有了,如果沒有漂亮的UI組件還是很難做出精美的系統(tǒng),這個不用擔心Blazor自誕生到現(xiàn)在已經涌現(xiàn)出很多組件生態(tài),Vue比如用的多的是elementui、ivies、Ant Design Vue,在Blazor也有開源社區(qū)和作者將他們移植過來。
目前有傳統(tǒng)的.net控件廠商提供的Blazor商業(yè)組件,如大名鼎鼎的Telerik、DevExpress估計很多.net的小伙伴們都用過。另外開源的組件有:Ant Design Blazor(Ant Design大家應該很熟悉螞蟻金服UI)、BlazorStrap(基于Bootstrap 4)、Blazui(基于Element UI CSS)、Blazor Extensions、bUnit、MatBlazor、Blazorise、Blazored等等。
我比較推薦的是Bootstrap Blazor、Ant Design Blazor,具體使用可以參考我前面的寫的2篇文章里面有介紹到這2Blazor UI 框架。
Bootstrap Blazor
www.toutiao.com/i6892050494823334408/
Ant Design Blazor
https://www.toutiao.com/i6889673425065869837/
Bootstrap Blazor 組件
Ant Design Blazor 組件
.NET 5下的全棧開發(fā)-C/S模式
現(xiàn)在雖然說是B/S模式的天下,傳統(tǒng)C/S模式已經沒落了,但是C/S模式還有很多應用場景的,比如很多工廠的工控軟件、比如現(xiàn)在的手機app 也算的上是C/S模式的,還有很多網(wǎng)頁游戲提供的微端也算的上C/S模式。目前的WPF和WinForm暫時只能在windows下運行,如果想制作跨平臺大概有如下幾種方式:
qt: qt是一個著名的C 跨平臺GUI程序開發(fā)框架,它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,目前好像支持Python調用。
Mono MonoDevelop(開發(fā)工具)
在Linux 下使用C#,基于Mono運行時 MonoDevelop開發(fā)工具,新建GTK 項目(應該是基于GTKSharp,Linux上使用GTK等技術實現(xiàn)WinForm)。
MonoDevelop 開發(fā)的centeros 客戶端程序
Electron:
使用 JavaScript,HTML 和 CSS 構建跨平臺的桌面應用程序,本文在此不多做闡述。
Electron
Java AWT/Swing:
Swing 是一個為Java設計的GUI工具包,包括了圖形用戶界面(GUI),至于AWT應該很少人使用了。使用awt/swing來編寫跨平臺的GUI客戶端應用,本文在此不多做闡述。
.NET Multi-platform App UI (MAUI):
很遺憾的是.NET 5還沒有將跨平臺GUI(MAUI)加入到.NET 5里面來,MAUI將會在明年的10月份隨著.NET 6.0一起發(fā)布。.NET MAUI 是Xamarin.forms 工具包的演變,在 dotnet/maui 的 GitHub上是開源的。MAUI發(fā)布時候將支持Android、iOS、Linux、macOS、Tizen、Windows等平臺。
MAUI 支持的平臺
MAUI 發(fā)展線路圖
當前開發(fā)在xamarin/xamarin.forms 中,明年將繼續(xù)通過平穩(wěn)和無縫過渡到 .NET MAUI 來。
.NET MAUI Preview 1 (將于2020年底發(fā)布 )
.NET MAUI Preview 2 (將于2021年年初發(fā)布)
大概經過多個版本的從.NET MAUI Preview 1~.NET MAUI Preview 5后將于2021年11月份正式發(fā)布,到時候小伙伴們便可體驗MAUI,享受一次開發(fā)跨所有平臺的app了。
版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。