2020年即将结束,使用net开发已经有多年的经验,微软在2016年发布net core1.0 之后就一直关注net core,令人欣慰的是,net core的热度蒸蒸日上,asp.net core3.1 的性能以及稳定性也超越了java,特别是云原生开发这一块,看的出net core有很好的前景,但目前国内的热度不够,生态比不上java,但随着net core版本的迭代,以及net core开源生态的发展,相信在不久的将来,net core一定火出天际。2020年微软发布了Net5.0 ,打通了net core 和net的壁垒,真正实现了Net 的统一。

.NET简介

.NET Core 和 .NET 5

在 2002 年,微软发布了 .NET Framework,这是用于创建 Windows 应用的开发平台。 目前 .NET Framework 的版本为 4.8,并且仍由 Microsoft 支持。2014 年,Microsoft 开始编写 .NET Framework 的跨平台开源后续产品。.NET 的这个新实现被命名为 .NET Core,直到发展到版本 3.1。.NET Core 3.1 之后的下一个版本是 .NET 5.0,当前处于预览状态。 版本号 4 被跳过,以避免 .NET 的此实现和 .NET Framework 4.8 混淆。 删除名称“Core”以表明这是现在 .NET 的主要实现。此外,“Core”在名称 ASP.NET Core 和 Entity Framework Core 中保留。

.NET 5优势

.NET 5是一种用于构建多种应用的免费开源开发平台,例如:

  • Web 应用、Web API 和微服务

  • 云中的无服务器函数

  • 云原生应用

  • 移动应用

  • 桌面应用

  • Windows WPF

  • Windows 窗体

  • 通用 Windows 平台 (UWP)

  • 游戏

  • 物联网 (IoT)

  • 机器学习

  • 控制台应用

  • Windows 服务

跨平台

可以为许多操作系统创建 .NET Core 应用,包括:

  • Windows

  • macOS

  • Linux

  • Android

  • iOS

  • tvOS

  • watchOS

支持的处理器体系结构包括:

· X64

· x86

· ARM32

· ARM64

通过 .NET,可以使用特定于平台的功能,如操作系统 API。 例如 Windows 上的 Windows 窗体和 WPF,以及从 Xamarin 到每个移动平台的原生绑定。

开源

.NET 是开放源代码,使用 MIT 和 Apache 2 许可证。.NET 是 .NET Foundation 的项目。

IDE(开发工具)

.NET 的集成开发环境包括:(宇宙最强IDE)

  • Visual Studio

仅在 Windows 上运行。 具有广泛的内置功能,设计为可以与 .NET Core一起使用。 社区版对学生、开放源代码贡献者和个人免费。

  • Visual Studio Code

在 Windows、macOS 和 Linux 上运行。 免费且开源。 扩展可用于使用 .NET 语言。

  • Visual Studio for Mac

仅在 macOS 上运行。 用于开发适用于 iOS、Android 和 Web 的 .NET 应用和游戏。

.NET 体系结构组件

.NET 应用开发用于并运行于一个或多个 .NET 实现 。

.NET 实现包括 .NET Framework、.NET 5(和 .NET Core)以及 Mono。 对于多个 .NET 实现,有一个名为 .NET Standard 的通用 API 规范。

  • .NET Standard

.NET Standard 是一组由 .NET 实现的基类库实现的 API。 更正式地说,它是构成协定统一集(这些协定是编写代码的依据)的特定 .NET API 组。 这些协定在多个 .NET 实现中实现。

.NET Standard 是一个目标框架。 如果代码面向 .NET Standard 版本,则它可在支持该 .NET Standard 版本的任何 .NET 实现上运行。

创建 .NET Standard 是为了支持跨不同 .NET 实现的可移植性,但现在 .NET 5 提供了一种更好的方法来跨多个平台和工作负载共享代码。

.NET 5 是 .NET 的跨平台实现,专门设计用于处理大规模的服务器和云工作负载。 它还支持其他工作负载,包括桌面应用。 可在 Windows、macOS 和 Linux 上运行。 它可实现 .NET Standard,因此面向 .NET Standard 的代码都可在 .NET 5 上运行。 ASP.NET Core、Windows 窗体和 Windows Presentation Foundation (WPF) 都在 .NET 5 上运行。

.NET Framework

.Net Framework 是自 2002 年起就已存在的原始 .NET 实现。4.5 版以及更高版本实现 .NET Standard,因此面向 .NET Standard 的代码都可在这些版本的 .NET Framework 上运行。 它还包含一些特定于 Windows 的 API,如通过 Windows 窗体和 WPF 进行 Windows 桌面开发的 API。.NET Framework 非常适合用于生成 Windows 桌面应用程序。

Mono

Mono 是主要在需要小型运行时使用的 .NET 实现。 它是在 Android、macOS、iOS、tvOS 和 watchOS 上驱动 Xamarin 应用程序的运行时,且主要针对小内存占用。Mono 还支持使用 Unity 引擎生成的游戏。

它支持所有当前已发布的 .NET Standard 版本。

以前,Mono 实现更大的 .NET Framework API 并模拟一些 Unix 上最常用的功能。 有时使用它运行依赖 Unix 上的这些功能的 .NET 应用程序。

Mono 通常与实时编译器一起使用,但它也提供在 iOS 之类的平台使用的完整静态编译器(预先编译)。

通用 Windows 平台 (UWP)

UWP 是用于为物联网 (IoT) 生成新式触控 Windows 应用程序和软件的 .NET 实现。 它旨在统一可能想要以其为目标的不同类型的设备,包括电脑、平板电脑、电话,甚至 Xbox。UWP 提供许多服务,如集中式应用商店、执行环境 (AppContainer) 和一组 Windows API(用于代替 Win32 (WinRT))。 应用可采用 C++、C#、Visual Basic 和 JavaScript 编写。

.NET 运行时

运行时是用于托管程序的执行环境。 操作系统属于运行时环境,但不属于 .NET 运行时。 下面是 .NET 运行时的一些示例:

  • .NET Framework 公共语言运行时 (CLR)

  • .NET 5 公共语言运行时 (CLR)

  • 适用于通用 Windows 平台的 .NET Native

  • 用于 Xamarin.iOS、Xamarin.Android、Xamarin.Mac 和 Mono 桌面框架的 Mono 运行时

.NET 工具和常见基础结构

可访问一整套适用于每种 .NET 实现的工具和基础结构组件。 这些工具和组件包括:

  • .NET 语言及其编译器

  • .NET 项目系统(基于 .csproj .vbproj 和 .fsproj 文件)

  • MSBuild(用于生成项目的生成引擎)

  • NuGet(适用于.NET 的 Microsoft 程序包管理器)

  • 开放源生成业务流程工具,例如 CAKE 和 FAKE

什么是Net5? 来自Net5(net core)的开场白相关推荐

  1. 1.NET 4.6.1向.NET core 2.0项目迁移(HelloWorld篇)

    今天早上看到新闻,Microsoft都快要推出.NET5了,.NET core也3.0了,而我一直以来的项目都是.net 4.5+,包括WWF,WCF等技术框架,目前主流的基础框架都基本要求支持跨平台 ...

  2. dotnet core TargetFramework 解析顺序探索

    dotnet core TargetFramework 解析顺序测试 Intro 现在 dotnet 的 TargetFramework 越来越多,抛开 .NET Framework 不谈,如果一个类 ...

  3. .net core实践系列之短信服务-为什么选择.net core(开篇)

    前言 从今天我将会写.net core实战系列,以我最近完成的短信服务作为例子.该系列将会尽量以最短的时间全部发布出来.源码也将优先开源出来给大家. 源码地址:https://github.com/S ...

  4. .net framework、.net standard、.net core .net 5/6/7/8 区别

    你会不会core? .net行业到底有多坑,通过面试常见问题,就知道了. 都22年底了,core微软都不维护了,这个问题被人事面试到到还能理解,但被95%的技术官面试到我就有点不淡定了,必须来科普下. ...

  5. .net framework、.net standard、 .net core .net 5/6 区别

    .net framework..net standard. .net core .net 5/6 区别 之前一直使用.net framework框架编写程序,这几年微软的动作有点大,更新迭代的有些快, ...

  6. 如何在 ASP.NET Core 中 使用 功能开关

    .NET Core 中的 功能管理 (Feature Management) 包可用于实现 功能开关,什么意思呢?就是可以通过 功能开关 特性动态的改变应用程序的行为而不需要改变任何的业务逻辑代码,听 ...

  7. .NET Core开发日志——从ASP.NET Core Module到KestrelServer

    ASP.NET Core程序现在变得如同控制台(Console)程序一般,同样通过Main方法启动整个应用.而Main方法要做的事情很简单,创建一个WebHostBuilder类,调用其Build方法 ...

  8. 两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置

    为什么要迁移,江湖上传说windows server的稳定性不如某某某,这类议题与八卦新闻没两样,不谈,如果windows的价钱能够和linux相同或者差异不至于那么大,我才懒得换,因为穷,这才是重点 ...

  9. corex9服务器组装攻略,超频极速散热 Tt Core X9水冷最佳拍档

    1Tt Core X9水冷好伴侣 虽然现在的主流硬件性能已经相当强大,但对于不少DIY玩家来说超频仍然是一个不可缺少的话题.通过对CPU.显卡进行超频来挖掘硬件潜能,是提高系统性能的一条捷径.为了提高 ...

最新文章

  1. JAVA之关于This的用法
  2. linux php运行用户名和密码,Linux实例(一)使用用户名密码验证连接Linux
  3. 删库跑路?不可回滚?MySQL创建和管理表,修改清空表,MySQL8新特性DDL原子化,完整详细可收藏
  4. 关于在asp.net中播放MP4格式的视频(好吧,只兼容支持html5的浏览器,ie8及以下的都歇菜了)...
  5. Magento给产品添加“new”或者折扣数量标签 magento new label. discount label
  6. 米度教育零基础三个月学会机器学习视频总结
  7. php android 图片上传,android上传图片到PHP的过程详解
  8. cdr你的产品已禁用_Coreldraw提示已安装另一版本导致安装失败的解决办法
  9. 九大ICT企业年中业绩大比拼
  10. 今日头条推广视频教程自媒体推广短视频教程今日头条引流小白入门视频解析下载支持今日头条快手抖音火...
  11. 第三方调用微信支付接口
  12. Android 测试工具集01
  13. 线性方程组/矩阵方程求解(方法汇总)
  14. C++基础课 5- 章
  15. 基于android平台的语音机器人服务娱乐系统
  16. RE:从零开始的汇编语言_挑好书
  17. vivado+vscode
  18. STM32c8t6串口+蓝牙控制PC13亮灭
  19. [vue][面试]谈一谈对vue组件化的理解?
  20. iBOMA’s Case Study—Health Care

热门文章

  1. 软件工程导论笔记(同步更新)(已结束更新)
  2. python 微信登录 2020_大数据分析的python基础2020知到APP最新微信公众号答案
  3. Unity一个月学习体会
  4. Windows设备管理器Android感叹号
  5. 主主和主从和主备区别
  6. 使用Word写测试用例遇到页码从第三页开始问题
  7. 儿童少年卫生学复习题库
  8. 视频教程-Python全栈9期(第十部分):CRM系统-Python
  9. Android音乐播放器的缓存机制设计
  10. Spring Caching配置缓存过期时间