.NET5真的来了,你准备好了吗?

简介: .NET5真的来了,你准备好了吗?

1月了,期待已久的.NET5即将发布,你做好准备了吗?如果还只是在Windows上用Visual Studio + SQL Server做跨平台开发,真心对不住这个时代了!强烈建议你去尝试Linux,不仅是程序部署,而是全Linux环境去开发、运行、部署.NET 5项目,从开发工具到数据库到各种中间件全部Linux,你会收获无法想象的快感!真的,让我们一起拥抱Linux吧!

文:Sifan-H

来源:DotNetdaily

DotNetdaily

拥抱Linux

Linux开源优势

Linux是完全开源的,轻松查看源码并修改和定制,完全免费的属性也深得企业青睐,而且稳定性、安全性、灵活性都远超Windows服务器,当下全球大量数据中心的服务器已经开始向基于 Linux Server 平台转移。

image.png

开源组件最佳平台

耳熟能详的各种高并发组件,Redis、MongoDB、RabbitMQ、Nginx、Kafka等等,都是基于Linux服务器开发和发布的,虽然也为Windows Server提供了安装版本,但都是阉割版的,版本更新都严重迟滞,像Redis在Windows下的性能表现,达不到Linux下的50%。

互联网大势所趋

当下互联网技术的发展方向是容器化、K8S、DevOps、CI/CD、云原生,90%的工具环境都是基于Linux的,微软都出.NET5去适配Linux,还推出了VS Code开发工具,甚至连SQL Server都支持Linux了,互联网技术大势浩浩荡荡,顺之者昌!

image.png

DotNetdaily

全Linux实战踩坑

微软.NET跨平台开发4年多了,Linux下开发运行部署都已经有完整的解决方案了,我来给大家分享下全体的工具和技术选型(文末有做工具的打包分享)。

服务器准备

不习惯双系统的小伙伴儿,可以用VMware workstation弄个虚拟机,Linux操作系统繁多,这里我推荐最新版本CentOS8。开始可能不太习惯,用用就好了。

开发环境准备

当然是Visual Studio Code,微软出品必属精品,然后是.NET5 RC2的环境。数据库我推荐用MySQL标配,不要试图用SQL Server for Linux了。

image.png

项目框架选择

这个跟Window下开发是没啥区别的,直接前后分离架构,前端Vue,后端是Core WebApi,O/RM选择的轻量级Dapper,连接MySQL也方便。

部署运行

用Docker容器部署的Nginx + WebApi实例集群,然后MySQL和Redis就直接安装在Linux的宿主机上面,一个小项目就这样构建起来了。

说了这么多,那到底怎么开发实操??

相关文章
|
6月前
|
供应链 前端开发 项目管理
分享88个NET源码,总有一款适合您
分享88个NET源码,总有一款适合您
67 3
|
6月前
|
开发框架 自然语言处理 负载均衡
分享91个NET源码,总有一款适合您
分享91个NET源码,总有一款适合您
65 2
|
6月前
|
SQL 开发框架 安全
分享84个NET源码,总有一款适合您
分享84个NET源码,总有一款适合您
59 1
|
6月前
|
SQL 开发框架 前端开发
分享65个NET源码,总有一款适合您
分享65个NET源码,总有一款适合您
59 1
|
6月前
|
SQL 开发框架 自然语言处理
分享77个NET源码,总有一款适合您
分享77个NET源码,总有一款适合您
292 1
|
6月前
|
开发框架 前端开发 JavaScript
分享86个NET源码,总有一款适合您
分享86个NET源码,总有一款适合您
36 0
|
6月前
|
开发框架 搜索推荐 .NET
分享66个NET源码,总有一款适合您
分享66个NET源码,总有一款适合您
49 0
|
6月前
|
XML 开发框架 安全
分享92个NET源码,总有一款适合您
分享92个NET源码,总有一款适合您
84 0
一起谈.NET技术,.Net令人纠结的Null
  从我们刚学.Net编程起,我们的程序不断被从天而降NullReferenceException打断。直到今天,我们仍然时常为C#的Null或者VB的Nothing困惑。什么情况下我们该返回null,如果参数是null代表什么。
773 0
一起谈.NET技术,20条.NET编码习惯
1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) int Count;Count = 100;private static const int ZERO  =  0;if(  Count  ==  ZERO ){// 执行一些操作} 2、对于字符串比较-使用String. Empty ,而不是""。
805 0