通俗易懂,什么是.NET Core以及.NET Core能做什么
作者:依乐祝
原文地址:
我们都知道.net core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为windows、linux和macos构建软件应用程序。与其他软件框架不同,.net core是最通用的框架,可用于构建各种软件,包括web应用程序、移动应用程序、桌面应用程序、云服务、微服务、api、游戏和物联网应用程序。与其他框架不同,.net core并不局限于单一的编程语言,它支持c#、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 5.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日发布。在这个版本中发布的两个核心框架是asp.net core2.0和 entity framework core 2.0。下一个稳定版本.net core 2.1和2.2于2018年5月和12月发布。.net core的当前版本为3.0.0,并且在2019年5月6日发布了第5个预览版。
下表总结了.net core的主要里程碑:
版本 | 发布日期 | 关键特征/产品 |
---|---|---|
.net core 1.0 | 6/27/2016 | visualstudio 2015 update 3支持的.net core的初始版本。 |
.net core 1.1.1 | 3/7/2017 | .net core tools 1.0受visualstudio 2017支持 |
.net core 2.0 | 8/14/2017 | visualstudio 2017 15.3,asp.netcore 2.0,实体框架2.0 |
.net core 2.1 | 5/30/2018 | asp.net core 2.1,ef core 2.1 |
.net core 2.2 | 12/4/2018 | asp.net core 2.2,ef core 2.2 |
.net core 3.0预览3 | 3/6/2019 | 通过visualstudio2019支持asp.net core 3.0、ef core3.0、uwp、windows窗体、wpf。 |
.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协议作为开源协议。对商业十分友好。不像某java
了解更多信息并下载.net coregithub.
.net core是跨平台的
.net core支持并运行在windows、macos和linux操作系统上。.net core跨体系结构(包括x64、x86和arm)是一致的。可以导入相同的程序集和库,并在多个平台上使用。这些程序集和库都可以使用如下的.net语言进行构建,如:c#、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特性的信息,
visual studio 2019和visual studio code是世界上最先进和最现代的集成开发环境。这两个ides都支持当今的现代需求,并且专注于干净、速度和生产力。在这里了解有关visualstudio 2019功能的更多信息:visualstudio 2019新特性.
.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容器中。
.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应用
asp.net core是.net core生态系统的核心组件。asp.net core是一个用于构建网页的框架。asp.net core基于mvc架构,并提供用于构建web的通用库。开始使用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版本的一部分发布的
了解有关wpf的更多信息.
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 core 3.0中的新增的功能有哪些?
最新版本的.net core 3.0刚刚发布。c#8和windows桌面是这个版本的两个主要新增部分。
c#8是c#语言的最新版本。c#8是.net core的一部分。c#8增加了新功能,包括
windows桌面是.net core 3.0的新增功能,允许开发人员使用windows窗体,wpf和uwp构建windows桌面应用程序。
以下是.net core 3.0中的其他功能和增强功能列表,
- windows桌面的msix部署
- msix是一种新的windows应用程序包格式。它可用于将.net core 3.0桌面应用程序部署到windows 10。
- 快速内置json支持
- ieee浮点改进
- .net平台依赖内在函数
- 依赖于框架的可执行文件支持
- 构建副本依赖项
- 装配卸载
- windows native interop
- linux上的tls 1.3和openssl 1.1.1
- 改进的密码学
- 适用于linux的serialport
- arm64 linux支持
- gpio支持raspberry pi
参考
参考文献
推荐阅读
-
为什么说是时候拥抱.NET CORE了?
-
什么是asp.net core?介绍Asp.Net Core的优势
-
什么是ado.net以及其简单实现详解
-
用例子看ASP.NET Core Identity是什么?
-
【转载】通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
-
为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?
-
为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?
-
[Asp.Net Core] 为什么选择 Blazor Server Side (一) 快速实现图片验证码
-
用例子看ASP.NET Core Identity是什么?
-
《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core