您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > .NET

.NET 生态

时间:2020-06-11 11:54:47  来源:  作者:

.NET 生态

  2016年微软发布了.NET Core 1.0 迄今已有好几年了,但是很多.NET程序员也一定有以下疑问:

  • .NET Core到底是不是.NET 的下一个版本?还是说只是.NET支持跨平台的一个版本?
  • 作为传统的.NET开发者或者说开发的程序都是在windows环境下面工作的,有没有必要学习.NET Core?
  • .NET Core和.NET Framework有什么不同?
  • 在开发新的程序是应该怎么选择.NET Core 和.NET Framework?
.NET 生态

 

  从上面图中我们可以看到.net 主要分为三个部分.net FrameWork,.net Core,Xamarin

  • XAMARIN 主要用来构建App的(包括IOSAndroid Windows)主要用的是C#语言
  • .NET Framework这个是我们现在经常用的,用这个可以创建windows应用程序还有web applications ,现在你可以用它创建Winform ,UWP ,wpf 等等相关的应用程序 ,web 方面就是Asp.net MVC
  • .NET Core 是微软推出的最新的开源的,跨平台的框架,用它可以创建的应用可以运行在maclinux上 。 .net core 支持UWP 和 ASP.NET Core。

UWP即Windows 10 中的Universal Windows Platform简称。即Windows通用应用平台,在Win 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用也跟只适用于手机端的app有本质区别。它并不是为某一个终端而设计,而是可以在所有windows10设备上运行。

.NET Standard

  为什么要引入.NET Standard?

  .NET生态在发展的过程中长期都是.NET Framework这条线,后面加入适用于 iOS、Android 和 Windows 的新式高性能应用程序开发的Xamarin,后续又增加了适用于 Windows、macOS 和 Linux 的.NET Core。于是.NET 生态出现了“三足鼎立”的局面。

.NET 生态

 


  有三种版本的`.NET`,意味着你需要掌握三种不同的基础类库以写出可以在三种平台上运行的代码。

  能不能让开发者们只需要掌握一种基础类库就可以适用于不同平台,换句话说写一份代码就可以在.NET Framework,.NET Core,Xamarin都能运行?而.NET Standard的出现就解决了这个问题。.NET Standard背后的动机是在.NET生态系统中建立更大的一致性。

.NET Standard是微软为跨平台所规划的.NET Framework相关平台于系统之间的相依性标准,在此标准之下,能确保标准的应用程序接口与对象能够跨平台使用。.NET平台标准是以引用组件的方式存在,其本身并没有任何实现,真正的实现是由平台拥有者所进行,而客户端使用简单的NuGet版本戳记即可获得正确的平台版本。

.NET Framework老项目能够迁移到.NET Core吗

  我相信绝大数有一定资历的 .NET 程序员都已经在.NET Framework项目中积累了大量的经验,那么这些项目能否直接迁移到.NET Core中呢。注意,并不是所有的.net Framework的代码都可以直接运行在.net core上

  这是微软一直在做的事情,也是广大开发者的心声。

  在 .NET 的整个历史记录中,它都尝试在版本之间以及 .NET 各个风格之间保持高级别的兼容性。 .NET Core 将继续坚守这个准则。 尽管可以将 .NET Core 视为独立于 .NET Framework 的新技术,但下面的两个因素使 .NET Core 无法脱离 .NET Framework:

  • 有许多最初开发过或在继续开发 .NET Framework 应用程序的开发人员。 他们希望各个 .NET 实现中的行为保持一致。
  • .NET Standard 库项目允许开发人员创建面向 .NET Core 和 .NET Framework 共享的通用 API 的库。 开发人员希望用于 .NET Core 应用程序的库与用于 .NET Framework 应用程序的同一个库的行为相同

  在希望保持各个 .NET 实现之间的兼容性的同时,开发人员还希望在各个 .NET Core 版本之间保持高级别的兼容性。 具体而言,为 .NET Core 早期版本编写的代码应在较高版本的 .NET Core 上无缝运行。 实际上,许多开发人员都希望新发布的 .NET Core 版本中的新 API 也应该与引入这些 API 的预发布版本兼容。

从 .NET Framework 迁移到 .NET Core
  • 重大更改
  • 不可用的技术

  从微软官方的表述可以看到,依然存在影响兼容性的变更。对新手来说,是没有思想包袱的,但是对于老鸟,建议空杯心态,将 .NET Core 当作全新的技术来学。



Tags:.NET   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
编译和反编译.NET 中的编译是把开发人员写的 C# 代码转化为计算机可理解的代码的过程,也就是中间语言代码(IL代码)。在这个过程中,C# 源代码被转换为可执行文件(exe或者dll 文件)...【详细内容】
2022-07-15  Tags: .NET  点击:(1)  评论:(0)  加入收藏
我们在开发 webapi 项目时如果遇到 api 接口需要同时支持多个版本的时候,比如接口修改了入参之后但是又希望支持老版本的前端(这里的前端可能是网页,可能是app,小程序 等等)进行...【详细内容】
2022-07-14  Tags: .NET  点击:(3)  评论:(0)  加入收藏
什么是.NET.NET 是由 Microsoft 创建的开源开发平台,用于生成多种不同类型的应用程序,主要支持C#、F#及VB。.NET程序运行原理.NET程序的运行是由其虚拟机CLR(公共语言运行时)把...【详细内容】
2022-06-21  Tags: .NET  点击:(26)  评论:(0)  加入收藏
项目介绍一套基于.NetCore+Vue2/Vue3+Element plus+uniapp,采用前后端分离方式,全自动生成PC与移动端代码的快速开发脚手架;支持移动端(uniapp)ios/android/h5/微信小程序。 Vu...【详细内容】
2022-06-13  Tags: .NET  点击:(56)  评论:(0)  加入收藏
多年前借鉴b/s优势实现基于.net的c/s框架 本框架未采用.NET固有的WCF通讯解决方案,而使用传统http数据加密方式.框架初始和传统客户端升级方式一样检查新版本,如有则下载升级...【详细内容】
2022-06-05  Tags: .NET  点击:(30)  评论:(0)  加入收藏
Asp.Net Core Identity 是.Net自带的身份认证系统,支持用户界面 (UI) 登录功能,并且管理用户、密码、配置文件数据、角色、声明、令牌、电子邮件确认等等。使用Visual Studio...【详细内容】
2022-06-05  Tags: .NET  点击:(35)  评论:(0)  加入收藏
安装Hangfire新建ASP.NET Core空 项目,.Net Core版本3.1 往*.csproj添加包引用,添加新的PackageReference标记。如下所示。请注意,下面代码段中的版本可能已经过时,如有需要,请使...【详细内容】
2022-05-07  Tags: .NET  点击:(76)  评论:(0)  加入收藏
 B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm、WPF客户端程序依然具有很实用的价值,如设计类软件 AutoCAD与Autodesk Revit、WPS、IT类的集成开...【详细内容】
2022-04-27  Tags: .NET  点击:(153)  评论:(0)  加入收藏
前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈。这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档。...【详细内容】
2022-04-27  Tags: .NET  点击:(65)  评论:(0)  加入收藏
之前,我们已经了解了ASP.NET Core中的身份认证,现在,我们来聊一下授权。老规矩,示例程序源码XXTk.Auth.Samples已经提交了,需要的请自取。概述ASP.NET Core中的授权方式有很多,我...【详细内容】
2022-04-20  Tags: .NET  点击:(143)  评论:(0)  加入收藏
▌简易百科推荐
编译和反编译.NET 中的编译是把开发人员写的 C# 代码转化为计算机可理解的代码的过程,也就是中间语言代码(IL代码)。在这个过程中,C# 源代码被转换为可执行文件(exe或者dll 文件)...【详细内容】
2022-07-15  IT狂人日记    Tags:.NET   点击:(1)  评论:(0)  加入收藏
我们在开发 webapi 项目时如果遇到 api 接口需要同时支持多个版本的时候,比如接口修改了入参之后但是又希望支持老版本的前端(这里的前端可能是网页,可能是app,小程序 等等)进行...【详细内容】
2022-07-14  IT技术资源爱好者    Tags:.Net   点击:(3)  评论:(0)  加入收藏
什么是.NET.NET 是由 Microsoft 创建的开源开发平台,用于生成多种不同类型的应用程序,主要支持C#、F#及VB。.NET程序运行原理.NET程序的运行是由其虚拟机CLR(公共语言运行时)把...【详细内容】
2022-06-21  威步上海    Tags:.NET   点击:(26)  评论:(0)  加入收藏
Asp.Net Core Identity 是.Net自带的身份认证系统,支持用户界面 (UI) 登录功能,并且管理用户、密码、配置文件数据、角色、声明、令牌、电子邮件确认等等。使用Visual Studio...【详细内容】
2022-06-05  海椰人  博客园  Tags:.Net   点击:(35)  评论:(0)  加入收藏
安装Hangfire新建ASP.NET Core空 项目,.Net Core版本3.1 往*.csproj添加包引用,添加新的PackageReference标记。如下所示。请注意,下面代码段中的版本可能已经过时,如有需要,请使...【详细内容】
2022-05-07  壮志林云    Tags:.NET   点击:(76)  评论:(0)  加入收藏
 B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm、WPF客户端程序依然具有很实用的价值,如设计类软件 AutoCAD与Autodesk Revit、WPS、IT类的集成开...【详细内容】
2022-04-27  IT技术资源爱好者  博客园  Tags:.NET   点击:(153)  评论:(0)  加入收藏
前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈。这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档。...【详细内容】
2022-04-27  海椰人  博客园  Tags:.Net   点击:(65)  评论:(0)  加入收藏
之前,我们已经了解了ASP.NET Core中的身份认证,现在,我们来聊一下授权。老规矩,示例程序源码XXTk.Auth.Samples已经提交了,需要的请自取。概述ASP.NET Core中的授权方式有很多,我...【详细内容】
2022-04-20  日行四善  博客园  Tags:授权   点击:(143)  评论:(0)  加入收藏
序言本文将分别介绍 Authentication(认证) 和 Authorization(授权)。并以简单的例子在 ASP.NET Core 6.0 的 WebAPI 中分别实现这两个功能。 相关名词Authentication 和 Author...【详细内容】
2022-04-18  芦荟柚子茶  博客园  Tags:ASP.NET   点击:(197)  评论:(0)  加入收藏
前言由于客户网络安全限制,连接到互联网的设备不能访问内网。需要先从客户端应用中导出数据到文件,再将文件复制到U盘,最后通过内网机器上传数据。如何保证,在复制、传输过程中,...【详细内容】
2022-03-22  My IO    Tags:.NET Core   点击:(125)  评论:(0)  加入收藏
站内最新
站内热门
站内头条