Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

基于.NET 5.0跨平台全栈开发福音来了

2021年10月11日8030百度已收录

2020.11.10日DOTNET正式发布.NET 5.0,.NET 5.0 是 3.1 之后 .NET Core 的下一个主要版本,可以理解为.NET 5.0 = .net core vnext。为不叫 .NET Core 4.0 官网上描述主要有两个原因:

1. 跳过了版本号 4.x 以避免与 .NET Framework 4.x 混淆;

2. 从名称中删除了"Core",以强调这是 .NET 前进的主要方向。.NET 5.0 支持的应用程序类型和平台比.NET Core 和 .NET Framework更多。

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第1张

.net 5

.NET 5新特性.NET 5 其中包括很多新特性以及性能优化,如C# 9更新、F# 5更新、Visual Basic 更新、单文件应用、应用程序修剪、Windows ARM64 和 ARM64 内部函数、转储调试的工具支持、性能改进(垃圾收集GC、json操作、正则表达式、异步值任务池、容器大小优化等)。

.NET 5下的全栈开发-B/S模式我们知道.net下的web开发从最古老的asp.net WebForm-> asp.net mvc -> .net core mvc 然后再到现在流行的前后端分离(前端vue,angular,react + 后端微服务/RESTful 接口)。

以前纯后端的同学想进行B/S模式全栈开发不懂JS肯定是行不通的,现在从.net core 3开始到现在的.net 5发布,.net 下的WebAssembly框架Blazor完全可以让你进行全栈开发成为了可能。

Blazor简介:Blazor 是一个开放源代码和跨平台的Web UI框架,使用 .NET 代替 JavaScript 来创建丰富的交互式 UI。简单地说Blazor可以使用.NET代码(C#/VB.NET)来实现的网页交互功能,可以利用现有的 .NET 库生态系统,对.net开发者比较友好不需要重新学习React、Vue、Angular等框架。关于性能的更不能担心,Razor和HTML最终会编译成WebAssembly 运行在支WebAssembly 的浏览器上。

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第2张

Bootstrap Blazor 管理系统

Blazor UI生态:框架有了,如果没有漂亮的UI组件还是很难做出精美的系统,这个不用担心Blazor自诞生到现在已经涌现出很多组件生态,Vue比如用的多的是elementui、ivies、Ant Design Vue,在Blazor也有开源社区和作者将他们移植过来。

目前有传统的.net控件厂商提供的Blazor商业组件,如大名鼎鼎的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

/

Ant Design Blazor/

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第3张

Bootstrap Blazor 组件

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第4张

Ant Design Blazor 组件

.NET 5下的全栈开发-C/S模式现在虽然说是B/S模式的天下,传统C/S模式已经没落了,但是C/S模式还有很多应用场景的,比如很多工厂的工控软件、比如现在的手机app 也算的上是C/S模式的,还有很多网页游戏提供的微端也算的上C/S模式。目前的WPF和WinForm暂时只能在windows下运行,如果想制作跨平台大概有如下几种方式:

QT: qt是一个著名的C++跨平台GUI程序开发框架,它既可以开发GUI程序,也可用于开发非GUI程序,目前好像支持Python调用。

Mono + MonoDevelop(开发工具)在Linux 下使用C#,基于Mono运行时+ MonoDevelop开发工具,新建GTK 项目(应该是基于GTKSharp,Linux上使用GTK等技术实现WinForm)。

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第5张

MonoDevelop 开发的centeros 客户端程序

Electron:

使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序,本文在此不多做阐述。

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第6张

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一起发布。.NET MAUI 是Xamarin.forms 工具包的演变,在 dotnet/maui 的 GitHub上是开源的。MAUI发布时候将支持Android、iOS、Linux、macOS、Tizen、Windows等平台。

基于.NET 5.0跨平台全栈开发福音来了  .net开发 第7张

MAUI 支持的平台

MAUI 发展线路图

当前开发在xamarin/xamarin.forms 中,明年将继续通过平稳和无缝过渡到 .NET MAUI 来。

.NET MAUI Preview 1 (将于2020年底发布 )

.NET MAUI Preview 2 (将于2021年年初发布)

大概经过多个版本的从.NET MAUI Preview 1~.NET MAUI Preview 5后将于2021年11月份正式发布,到时候小伙伴们便可体验MAUI,享受一次开发跨所有平台的app了。

评论列表暂无评论
发表评论
微信