当前位置: 首页 > news >正文

通俗易懂,什么是.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特性的信息,

  • 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)快得多。

What Is .NET Core

What Is .NET Core

根据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,桌面,移动,云,游戏,物联网等。

What Is .NET Core

What Is .NET Core

.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 参考 https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0

参考文献

  • https://docs.microsoft.com/en-us/dotnet/core/
  • https://dotnet.microsoft.com/
  • https://www.c-sharpcorner.com/article/what-is-dot-net-core/

相关文章:

  • Rxjs 学习笔记 - 简化版
  • openssl的x509命令工具
  • Kubernetes入门笔记——(2)k8s设计文档
  • Axure安装及面板各区域详解
  • 【ArcGIS Pro微课1000例】0053:基于SQL Server创建与启用地理数据库
  • 数据结构:栈(Stack)的各种操作(入栈,出栈,判断栈非空,判断栈已满,附源码)
  • 第十六届山东省职业院校技能大赛高职组“应用软件系统开发”赛项样题
  • 【EI会议征稿】第三届电气、电力与电网系统国际会议(ICEPGS 2024)
  • DAP数据集成与算法模型如何结合使用
  • JAVA基础知识:泛型
  • python 爬虫 m3u8 视频文件 加密解密 整合mp4
  • adb命令学习记录
  • 软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位
  • 大数据Vue项目必备|Window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)
  • c++ 冒泡排序
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 07.Android之多媒体问题
  • CAP理论的例子讲解
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • interface和setter,getter
  • javascript从右向左截取指定位数字符的3种方法
  • LintCode 31. partitionArray 数组划分
  • ReactNative开发常用的三方模块
  • SpriteKit 技巧之添加背景图片
  • Zsh 开发指南(第十四篇 文件读写)
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 聊聊flink的TableFactory
  • 爬虫模拟登陆 SegmentFault
  • 什么软件可以剪辑音乐?
  • 微信小程序--------语音识别(前端自己也能玩)
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • k8s使用glusterfs实现动态持久化存储
  • MPAndroidChart 教程:Y轴 YAxis
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #{}和${}的区别是什么 -- java面试
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)计算机毕业设计大学生兼职系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (九)信息融合方式简介
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)我也是一只IT小小鸟
  • (转)重识new
  • .java 9 找不到符号_java找不到符号
  • .net core 控制台应用程序读取配置文件app.config
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 使窗口永不获得焦点
  • .NET的数据绑定
  • ::前边啥也没有