我们都知道.NET Core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为Windows、Linux和MacOS构建软件应用程序。

与其他软件框架不同,.NET Core是最通用的框架,可用于构建各种软件,包括Web应用程序、移动应用程序、桌面应用程序、云服务、微服务、API、游戏和物联网应用程序。与其他框架不同,.NET Core并不局限于单一的编程语言,它支持C#、http://VB.NET、F#、XAML和TypeScript。这些编程语言都是开源的,由独立的社区管理。

.NET Core提供了最先进、最成熟和最广泛的类库、公共API、多语言支持和工具。借助于Visual Studio 2019和Visual Studio Code 这些最先进和最现代的开发工具,使得.NET Core成为开发人员最高效的平台之一。

注: 微软最近宣发布.NET 5,这是.NET Core的未来。将来,.NET Core将改名为.NET,下一个版本的.NET Core将是.NET 6.0。

.NET Core的历史

.NET Core是由Microsoft开发,目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C++编写的,并采用MIT协议作为开源协议。第一个版本的.NET Core 1.0是在2016年发布的,功能有限。NET Core 2.0于2017年8月14日发布。在这个版本中发布的两个核心框架是http://ASP.NET Core2.0和 Entity Framework Core 2.0。

.NET Core的特点

.NET Core的主要特性包括开源、跨平台、现代、灵活、轻量级、快速、友好、可共享,以及为未来的软件开发而构建的。 .NET Core是免费和开源的

.NET Core平台是免费的、开源的。.NET Core的源代码托管在Github上。任何开发人员都可以参与到.NET Core的开发。有数千名参与.NET Core开发的活跃开发人员正在改进特性、添加新特性以及修复bug和问题。

.NET Core由一个名为.NET Foundation的独立的非营利组织管理。60,000多名开发人员和3,700多家公司正在为.NET生态系统做出贡献。

.NET Core是免费的,并且采用MIT和Apache协议作为开源协议。对商业十分友好。 https://github.com/dotnet/core

.NET Core是跨平台的

.NET Core支持并运行在Windows、MacOS和Linux操作系统上。.NET Core跨体系结构(包括x64、x86和ARM)是一致的。可以导入相同的程序集和库,并在多个平台上使用。这些程序集和库都可以使用如下的.NET语言进行构建,如:C#、http://VB.NET或F#。

.NET Core是可共享的

.NET Core使用一种用.NET Standard编写的一致API模型,这种模型对所有.NET应用程序都是通用的。相同的API或库可以与多种语言的多个平台一起使用。

.NET Core是现代的

与一些较旧的框架不同,.NET Core旨在解决当今的现代需求,包括移动友好、构建一次在任何地方运行、可伸缩和高性能。.NET Core旨在构建针对各种设备的应用程序,包括物联网和游戏机。

.NET在C# 8的帮助下支持现代语言结构,如面向对象和模块化编程、泛型、集合、lambdas、语言集成查询(LINQ)和异步编程,这使开发人员更加高效。在这里了解更多关于C#7和C#8特性的信息,

https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7

https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

Visual Studio 2019和Visual Studio Code是世界上最先进和最现代的集成开发环境。这两个IDES都支持当今的现代需求,并且专注于干净、速度和生产力。 在这里了解有关VisualStudio 2019功能的更多信息: https://www.c-sharpcorner.com/article/visual-studio-2019-new-features/

.NET Core是快速的

.NET Core 3.0 是快速的。与.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他服务器端框架(如Java Servlet和Node.js)快得多。

根据TechEmpowers发布的一份报告,.NET Core比任何其他框架都要快得多。 TechEmpower基准测试通过对多个Web应用程序框架做如下比较:数据库的单表查询,多表查询,文件访问,数据更新,明文和JSON序列化等任务进行比较。

.NET Core是轻量级的

.NET Core是轻量级的。.NET Core可以包含在您的应用程序中,也可以安装在并行用户、机器范围内或服务器上。.NET Core可以部署在Docker容器中。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/?view=aspnetcore-2.2

.NET Core是友好的

.NET Core通过.NET Standard与.NET Framework,Xamarin和Mono兼容。 .NET Core还支持使用各种流行的Web框架和库,如React,Angular和JavaScript。 TypeScript是.NET Core和Visual Studio生态系统的关键组件之一。

我们可以使用.NET Core构建哪些类型的应用程序?

.NET Core是一个通用的软件开发框架。它允许开发人员构建各种软件,包括Web,桌面,移动,云,游戏,物联网等。

.NET Core更适合跨平台需求。.NET Core应用程序支持在Windows,Linux和macOS上运行。Linux和macOS上也都支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括智能提醒和调试。大多数第三方编辑器(如Sublime,Emacs和VI)都支持.NET Core。

Web应用

http://ASP.NET Core是.NET Core生态系统的核心组件。http://ASP.NET Core是一个用于构建网页的框架。http://ASP.NET Core基于MVC架构,并提供用于构建Web的通用库。开始使用http://ASP.NET Core Razor是一个使用C#和TypeScript构建动态网页的新框架。Razor是一种改变游戏规则的技术,它允许C#开发人员用C#构建Web应用程序。

移动开发

移动开发是.NET Core的关键产品。Xamarin是一套使用C#构建跨平台移动应用程序的工具和库。Xamarin允许开发人员在共享的.NET代码库上为IOS、Android、Windows和MacOS构建本地应用程序。

桌面应用程序

.NET Core提供各种框架和工具来构建桌面应用程序。Windows窗体、WPF、UWP和Xamarin是构建桌面应用程序的四个主要框架。.NET Core还支持这些框架之间的互操作性。

Windows窗体是一种构建Windows桌面应用程序的技术。Windows窗体是.NET Framework的首批组件之一。

WPF(Windows Presentation Foundation)是一种较新的构建Windows桌面应用程序的技术。WPF是作为.NET Framework版本的一部分发布的

UWP是一种较新的技术,是在Windows 8之后发布的。如今,UWP已经成熟。UWP使用XAML作为表示层(UI)和C#作为后端编程。但是,貌似微软已经宣布了他的死亡。

微服务和容器

微服务是一种新的设计模式,它允许开发人员构建软件服务的小模块,这些模块可以使用定义良好的契约相互通信。微服务使开发、测试和部署应用程序的独立部分更加容易。一旦部署完毕,每个微服务都可以根据需要独立地进行缩放。.NET Core支持微服务体系结构,它允许跨平台服务与.NET Core一起工作,包括使用.NET Framework、Java、Ruby或其他开发的服务。

容器是今天的越野车。.NET Core的模块化、轻量级和灵活性使得将.NET Core应用程序部署到容器中变得更加容易。容器把一个应用程序的所有的配置文件和依赖关系,包含在一个单独的、小型的和独立的软件部署单元中。容器可以部署在任何平台、云、Linux和Windows上。.NET Core与Docker和Azure Kubernetes服务都很好地协作。

云应用程序

云应用程序现在越来越受欢迎。Azure支持各种云应用程序。.NET Core和C#应用程序可以通过Visual Studio 2019部署在Azure上。

物联网

物联网应用正在增长。.NET Core支持通过UWP框架为运行Windows 10 IoT Core的物联网设备进行物联网开发。UWP可用于构建在由Raspberry Pi,MinnowBoard MAX,DragonBoard 410c等提供支持的物联网上运行的应用程序。

游戏

Unity是最受欢迎的游戏开发框架之一。C#和UWP用于构建移动,桌面,控制台,电视,VR,AR和Web游戏。

.NET 5.0还带来了大量的改进

微软强调了一些比较显著的变化,包括一些性能上的改进,微软之前在这里进行了探讨。 以下是这个版本的所有亮点:

  • .NET 5.0 已经部署到 http://dot.net 和 http://Bing.com 托管数月,已经得到了实战检验。
  • 很多组件的性能都得到了极大的提高。.NET 5.0 中 ARM64 的性能 和 GRPC 等都有改善
  • C# 9和F# 5提供了新的语言改进,如C# 9的顶层程序和记录,而F# 5则提供了交互式编程和.NET上功能编程的性能提升。
  • .NET库对Json序列化、正则表达式和HTTP(HTTP 1.1、HTTP/2)的性能有所提升。它们现在也被完全注释为可空性。
  • 由于GC、分层编译等方面的完善,P95延迟有所下降。
  • 应用部署选项更好了,有了ClickOnce客户端应用发布、单文件应用、容器镜像尺寸减小,并增加了Server Core容器镜像。
  • 平台范围扩大,增加了WindowsArm64和WebAssembly。
  • 一个值得注意的变化是,.NET 5.0应用可以原生运行在ARM64 Windows设备上,消除了仿真带来的一些性能障碍。然而,在这个版本中,Windows 桌面组件并不能用于ARM64设备--这计划在.NET 5.0的服务更新中进行。

根据我的学习心得:

学习 ASP.NET Core 或 .NET Core 的作用是开发跨平台的应用程序。.NET Core 对于应用程序的开发和部署提供了许多优势,包括:

  1. 跨平台:.NET Core 是跨平台的,可以在 Windows、Linux 和 macOS 上运行,这意味着您可以创建一次应用程序并在多个操作系统上运行它。

  2. 高效性和可扩展性:.NET Core 具有高效性和可扩展性,在处理高负载应用程序时效果很好,它还具有一些性能调整和增强,可以提高应用程序的性能。

  3. 开源且社区支持:.NET Core 是开源的,这意味着您可以在 GitHub 上查看源代码、讨论问题、提出建议和参与开发。同时,有一个强大的社区支持 .NET Core,你可以从社区中获取帮助和支持。

  4. 安全性:.NET Core 具有内置的安全功能,可保护应用程序免受许多常见的 Web 安全漏洞。

总之,学习 ASP.NET Core 或 .NET Core 可以让您开发跨平台、高效、安全、可扩展和易于维护的应用程序。

什么是.NET Core以及.NET Core能做什么?相关推荐

  1. .NET Core ASP.NET Core 1.0在Redhat峰会上正式发布

    众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL)系统上的一流开发平台选项.这个团队已经一起工作好几个月了,RHEL对.NET有许多需求.今天在 ...

  2. linux下如何产生core,调试core

    linux下如何产生core,调试core 摘自:http://blog.163.com/redhumor@126/blog/static/19554784201131791239753/ 在程序不寻 ...

  3. ASP.net core 使用UEditor.Core 实现 ueditor 上传功能

    ASP.net core 使用UEditor.Core 实现 ueditor 上传功能 首先通过nuget 引用UEditor.Core,作者github:https://github.com/bai ...

  4. 通俗易懂,什么是.NET Core以及.NET Core能做什么

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/10880884.html 我们都知道.NET Core是一个可以用来构建现代.可伸缩和高性能的跨平台软件应 ...

  5. 使用 ASP.NET Core, Entity Framework Core 和 ABP 创建N层Web应用 第二篇

    介绍 这是"使用 ASP.NET Core ,Entity Framework Core 和 ASP.NET Boilerplate 创建N层 Web 应用"系列文章的第二篇.以下 ...

  6. 手把手引进门之 ASP.NET Core Entity Framework Core(官方教程翻译版 版本3.2.5)

    以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦. 样例下载 (上 github  ...

  7. 让我们Core在一起:ASP.NET Core amp; .NET Core

    Microsoft .NET 自 2002 年发行 v1.0 以来,已经过了近 14 个年头,在这 14 年里面,.NET 日渐成熟并成为 Microsoft 的重要开发平台之一,只要是在 Windo ...

  8. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    ASP.NET Core 入门教程 8.ASP.NET Core + Entity Framework Core 数据访问入门 原文:ASP.NET Core 入门教程 8.ASP.NET Core ...

  9. linux段错误core dumped,段错误 (core dumped) 之 core文件

    当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方.最常出现的,几乎所有C程序员都出现过的错误就是"段错误"了.也是最难查出问题原 ...

  10. ASP.NET Core 和 EF Core系列教程——CRUD

    ASP.NET Core 和 EF Core系列教程--CRUD (2 / 10) CRUD 为创建.读取.更新.删除的英文首字母的缩写 作者:Tom Dykstra和Rick Anderson Co ...

最新文章

  1. 【收藏】firewalld开放端口
  2. Servlet中的转发
  3. 两个特征是独立好还是正相关好_stata速学|相关分析|主成分分析|因子分析
  4. Swift学习笔记_数据类型_整数类型
  5. cube云原生机器学习平台-架构(五)
  6. pycharm: connot find declaration to go to
  7. Dijkstra算法|单源最短路径|贪心算法
  8. Java Collection Framework View
  9. (半)自动化爬虫系统该包含的功能点及相关介绍
  10. iOS 获取手机 唯一标识
  11. 绿色软件联盟:杀毒软件已经进入空前弱智与混沌状态
  12. winxp找不到服务器或 dns 错误,详解网络无法使用DNS错误的修复步骤
  13. 基于Ocean Connect云平台的照明控制系统设计
  14. 电脑网线连接树莓派并登录
  15. matlab中求矩阵A的特征向量,matlab层次分析法求特征值及特征向量.doc
  16. Spring-第一篇-快速入门
  17. vue中的this.nextTick()
  18. python进行JB正态性检验
  19. 高新技术企业的申请条件
  20. additional、extra与supplementary 区别

热门文章

  1. 超详细最新版pycharm安装教程,小白都能看懂
  2. 人工神经网络算法的应用,人工智能神经网络算法
  3. gaussdb 数据库参数说明【内存、磁盘空间、内核资源、后台写进程、异步IO】【03】
  4. 什么是免签支付那个好
  5. UE5实现建筑剖切效果
  6. 什么是共享内存?在内存中的具体位置?shmget的具体使用原理以及其他关联函数(shmat ( ),shmdt ( ),shmctl ( ))、以及C++应用案例?mmap和shm的区别?
  7. TED 心理学 OCEAN 语录
  8. android MP3播放器(支持歌词滚动等功能)
  9. 笔记本电脑连接蓝牙耳机设备
  10. Sigma 西格玛平滑滤波