什么是.NET Core?
.NET Core是.NET Framework的新一代版本,是微软开发的第一个跨平台(Windows、Mac OSX、Linux)的应用程序开发框架,未来将支持FreeBSD与Alpine平台。
另外,.NET Core是开源的技术框架,其代码托管在GitHub上,由于这一特性,其社区也相当火爆。
总结其实就一句话,.NET Core是微软开发的一套开源的跨平台应用程序开发框架。
.NET Core与.NET Framework的区别?
.NET Core的开发目标是跨平台的.NET平台,因此.NET Core会包含.NET Framework的类别库,但与.NET Framework不同的是.NET Core采用包化(Packages)的管理方式,应用程序只需获取需要的组件即可,与.NET Framework打包式安装的做法不同,同时,各包亦有其独立的版本线,不再硬性要求应用程序跟随主线版本。
也就是说,.NET Core可以做到按需引用,从而有效减小程序体积。
.NET Core能做什么?
.NET Core的应用场景已经覆盖桌面端、web端、云端、移动端、游戏、IOT和AI。
云端指的是.NET Core与云原生Kubernetes的完美融合。
游戏比如大家熟知的王者荣耀就是基于.NET 的C#和Mono开发的。
另外,为了扩展在AI方面的业务,.NET Core提供了ML.NET和Azure.NET用于提供对AI的支持。
.NET Core的发展版本
当前,应用最多的当属.NET Core 3.1(LTS),因为这是最近发布的一个长期支持版本,从图中我们可以看出,下一个版本微软将会把.NET Core和.NET Framework融合为一个版本,统一称为.NET,并且为了区别于现有的.NET Framework的4.x版本,.NET版本第一个版本号将从5.0开始,并且目前.NET5.0已经发布了2个预览版本。有兴趣的朋友也可以下载体验。
微软计划每年的11月发布一个新版本,并进入对旧版本的维护期,这里的LTS是指长期支持版本,其期限为3年。
.NET Core的开发工具介绍
- Visual Studio (Community, Professional, Enterprise)
- Visual Studio for Mac
- Visual Studio Code
这里我还是比较喜欢Visual Studio,目前在支持.NET Core3.1的Visual Studio19.3以及更高版本中,其内置了对Docker以及云原生的完美支持,可以有效的提高工作效率。
学习方向
.NET Core已越来越成为当前.NET开发主流,很多招聘岗位都要求要有.NET Core的开发经验,因此,我们可以学习的时候需要有目的的学习,比如,可以按如下路径来学习。
第一部分 .NET Core的必备知识
这部分会详细涉及依赖注入、配置管理、日志框架以及关键中间件等内容,以快速入门。
第二部分 .NET Core的微服务实战
通过一个微服务架构的设计过程,来了解领域驱动设计、远程调用、熔断限流、网关、身份认证、安全等微服务架构的必会知识点。
第三部分 微服务的Kubernetes部署
这一部分偏向运维侧的需求,在当下DevOps流行的大趋势下,部署和维护不再是单个运维的职责,通过在Kubernetes中部署和维护一个微服务案例,来了解当下热门的docker和Kubernetes技术,以理解如何保障系统的可用性、可检测性、故障隔离能力和可维护性。
相信你已对.NET Core有了初步的了解,作为当下热门的.NET技术,我们有必要对其进行了解以及学习,这将在构建新系统以及对现有系统的微服务实践方面起到很大的作用。而且,微服务的架构模式也是当下发展的热门方向。
总结
本节到这里就要结束了,我们做个总结,本节,我们学习了
- .NET Core是什么
.NET Core是一个开源的跨平台应用程序架构
- 其与.NET Framework的主要区别
.NET Core包化式的包管理方式,可有效减小应用体积
- .NET Core的应用场景
.NET Core的应用场景已经覆盖桌面端、web端、云端、移动端、游戏、IOT和AI。
- .NET Core的开发工具以及学习方向。
下一节将开始.NET Core基础知识的学习,敬请期待。