新的征程----.NET Core系列开篇

简介: 新的征程----.NET Core系列开篇

什么是.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基础知识的学习,敬请期待。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
100 3
|
1月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
2月前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
3月前
|
开发框架 监控 .NET
开发者的革新利器:ASP.NET Core实战指南,构建未来Web应用的高效之道
【8月更文挑战第28天】本文探讨了如何利用ASP.NET Core构建高效、可扩展的Web应用。ASP.NET Core是一个开源、跨平台的框架,具有依赖注入、配置管理等特性。文章详细介绍了项目结构规划、依赖注入配置、中间件使用及性能优化方法,并讨论了安全性、可扩展性以及容器化的重要性。通过这些技术要点,开发者能够快速构建出符合现代Web应用需求的应用程序。
58 0
|
3月前
|
缓存 数据库连接 API
Entity Framework Core——.NET 领域的 ORM 利器,深度剖析其最佳实践之路
【8月更文挑战第28天】在软件开发领域,高效的数据访问与管理至关重要。Entity Framework Core(EF Core)作为一款强大的对象关系映射(ORM)工具,在 .NET 开发中扮演着重要角色。本文通过在线书店应用案例,展示了 EF Core 的核心特性和优势。我们定义了 `Book` 实体类及其属性,并通过 `BookStoreContext` 数据库上下文配置了数据库连接。EF Core 提供了简洁的 API,支持数据的查询、插入、更新和删除操作。
116 0
|
3月前
|
开发框架 监控 .NET
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
|
3月前
|
Linux C# C++
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
|
3月前
|
开发框架 .NET API
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
195 0