作者:依乐祝
原文地址:

我们都知道.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特性的信息,

  • c#7.1、7.2和7.3新特性
  • 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容器中。

  • 开始使用asp.netcore和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上。

  • 在azure中创建和部署asp.net core web应用程序

物联网

物联网应用正在增长。.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增加了新功能,包括

  • 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
    参考

参考文献