Mono 和 .NET Core比翼双飞

2023-11-06 12:08
文章标签 core net mono 比翼双飞

本文主要是介绍Mono 和 .NET Core比翼双飞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,今天给大家分享.NET 蓝图之下的Mono和.NET Core 话题,微软在Build 2019 大会上给.NET 做了一个五年规划,所以分享的主题就是《Mono和.NET Core 比翼双飞》,将在完成这个五年规划的时候合体。

在开始这个主题之前,我先做下自我介绍,我叫张善友,连续13年被评为微软最有价值专家(MVP)。拥有超过十七年IT行业经验,2018年创立深圳市友浩达科技有限公司,从事.NET 技术顾问工作,工作之余,他还热心于进行社区奉献,运营微信公众号“dotnet跨平台”,同时积极参与.NET社区开源项目,被尊称为张队

首先Mono和.NET Core都是微软.NET 品牌之下的两大产品平台,借助于这两大平台,我们可以构建任何应用程序,更重要的是它是一个开源跨平台和免费的,而且还有微软的官方支持。相比隔壁的咖啡的分裂和收费,是个明白人都应该知道怎么选更加符合商业利益。

640?wx_fmt=png

您可以使用. net 构建任何内容。 多年来, 微软在. net 方面进行了大量投资,比如收购Xamarin,和Unity的合作等等,通过成立.NET基金会来运作.NET,.NET Core和Mono都在.NET基金会, 并统一了生态系统, 以支持构建任何东西。从桌面到游戏再到云,. net 是一个通用的编程平台, 支持各种方案。一旦你学会了一个, 你就可以很容易地拿起另一个。此外, 您还可以使用自己喜爱的工具和编辑器构建. net 应用程序, 或使用 mac 的 Visual Studio、Visual Studio code 或 Visual Studio。

640?wx_fmt=png

15年来, 微软的客户一直致力于我们的平台、语言和工具的生产力。微软现在正在利用这些新架构在云原生、跨平台和设备本机方法上获得现有客户和新客户。这里只是列出来几个,很有幸我作为客户代表在.NET Core 1.0就开始参与一个和微软合作的项目,这个项目就是把.NET生态下的API网关Ocelot 进入生产。微软的网站上还有更多 (和他们的故事)。

640?wx_fmt=png

. Net 基金会是我们围绕. net 生态系统进行开放式开发和协作的重心。. Net 基金会在其管理下拥有50多个项目和数百个回购项目。开源软件基金会提供保护、支持、服务和最佳实践, 帮助每个项目取得成功, 并发展人和软件的生态系统。

生态系统从你开始!通过参加 (或组织!) 会议来参与进来。为项目做贡献, 或者只是看新闻。访问 www.dotnetfoundation.org,以成员身份加入基金会, 并为董事会投票。

640?wx_fmt=png

Linux 基金会执行董事 jim Zemlin 说, "有10个开源项目, 投资于具有可持续生态系统的项目"。. Net 是其中之一。CNCF 跟踪前30名最高速度的开源项目。这是一个对数刻度, 用于测量在 X 轴上提交的 oss 项目速度和 y 轴上的 PR 和问题, 作者的 # 由圆的大小表示。右上角越远, 项目的活动就越多。Linux 内核 #1, 其次是Chromium,Kubernetes 和微软文档。请注意. net 是 #1 应用程序框架。

640?wx_fmt=png

2001年12月-2002年2月。

一个新的平台诞生了。与惠普、英特尔和其他公司一起, 创建了 ECMA-335 标准, 该标准定义了支持多种编程语言的公共语言基础结构,C# 和 Visual Basic. Net。 F # 于2007年晚些时候发布, 但今天还有20多种. net 语言。Visual Studio. net 已发布, 并将 c#、VB、C++ 开发都包含在一个框中。这是第一个真正跨多种语言集成的 IDE。

Mono项目开始。CLI 规范使其他人能够创建自己的. net 实现。尽管 Microsoft仅为适用于 windows 构建了第一个. net 框架, 但该规范有意地可跨操作系统和芯片组移植。Mono 项目开始由 Miguel de Icaza 牵头, 目标是在 Linux 和类似 unix 的平台上实现 Microsoft 新的. net 开发平台。后来,由 Miguel de Icaza创办了 Xamarin, 专注于跨平台、本地、移动开发, 并在 Mono 的基础上构建。这允许开发人员使用 c# 和. net 为 iOS 和 Android 构建应用程序。Unity游戏开发也从Mono 中出现。

2008年

asp. net MVC web 开发堆栈作为开源发布到 CodePlex。这是微软第一个作为开源发布的应用程序开发框架。但是, 基础运行时和编译器仍处于封闭状态。

2014年。

天方夜谭的事情真的发生了,太阳从西边出来了。2014年初在微软的 BUILD 会议上, C# 之父 Anders Heillsberg 在舞台上宣布了. net 编译器平台 “Roslyn” 的开源。11月下旬,. net Core 项目开始启动,对外公开。技术世界感到震惊, . net 社区感到兴奋。. Net Core 是一个新的云原生实现. net, 适用于跨平台、超大规模服务以及小型物联网设备。它的目的是将. net 引入未来15年的计算。而社区也一直给予极大的支持.....。

2016年。

Mono 回家了。2016年初, 微软终于收购了 Xamarin, 并将 Miguel de Icaza 引入开发者部门。Mono 加入. net 基金会, 并得到 Microsoft 的正式支持和贡献。微软社区正式与 Mono 社区汇合。

2017年。

. Net Core 2.0 发布。我们的跨平台和开源实现. net 终于通过跨多个操作系统和编辑器的统一工具支持向世界发布。

2018年。

Winform 和 WPF 宣布开源。在 Microsoft Connect 2018 中, 微软宣布了 Windows forms和 WPF 桌面框架的开源。此后, 我们看到了不可思议的贡献和活动。社区现在有能力指导这些框架的方向。

2019年

. Net Core 3.0 发布。. Net Core 3.0 将 Windows 桌面工作负载带到. net Core 运行时, 这将允许自包含 exe、并行安装和更快的性能。Build 2019宣布 .NET Core 3.0 之后的下一个版本将是 .NET 5 。这将是 .NET 系列的下一个重要版本。将来只会有一个 .NET ,您将能够使用它来开发 Windows,Linux,macOS,iOS,Android,tvOS,watchOS 和 WebAssembly 等等。我们将在 .NET 5 中引入新的 .NET API、运行时功能和语言功能。从 .NET Core 项目开始,我们已经向平台添加了大约五万个 .NET Framework API。 .NET Core 3.0 弥补了 .NET Framework 4.8 的大部分剩余功能差距,支持 Windows Forms,WPF 和Entity Framework 6。 .NET 5 构建于此工作之上,利用 .NET Core 和 Mono 的最佳功能创建一个平台,您可以用于所有现代 .NET 代码。

2020年

将在2020 年 11 月发布 .NET 5,并在 2020 年上半年推出第一个预览版。将在 Visual Studio 2019、Visual Studio for Mac 和 Visual Studio Code 的未来更新中支持它。

640?wx_fmt=png

. Net Core 是我们跨平台、开源实现. net 的, 非常适合云原生跨平台服务的要求。我们在核心性能和 web 堆栈方面进行了大量投资, 以便您可以轻松地利用云模式和规模。 . Net Core 3 将扩展受支持的工作负载, 以包括 IoT、AI 和 Windows 桌面。

640?wx_fmt=png

微服务也将是. net Core 3 的一大主题。我们正在研究快速构建这些模式和模板的其他模式和模板。

Mono 也是 我们跨平台、开源实现. net 的, 在ios 和 android 的移动应用开发领域和游戏/虚拟现实技术具有重要价值

640?wx_fmt=png

.NET Core 3.0 之后的下一个版本将是 .NET 5 。这将是 .NET 系列的下一个重要版本。将来只会有一个 .NET ,您将能够使用它来开发 Windows,Linux,macOS,iOS,Android,tvOS,watchOS 和 WebAssembly 等等。我们将在 .NET 5 中引入新的 .NET API、运行时功能和语言功能。从 .NET Core 项目开始,我们已经向平台添加了大约五万个 .NET Framework API。 .NET Core 3.0 弥补了 .NET Framework 4.8 的大部分剩余功能差距,支持 Windows Forms,WPF 和Entity Framework 6。 .NET 5 构建于此工作之上,利用 .NET Core 和 Mono 的最佳功能创建一个平台,您可以用于所有现代 .NET 代码。将在2020 年 11 月发布 .NET 5,并在 2020 年上半年推出第一个预览版。将在 Visual Studio 2019、Visual Studio for Mac 和 Visual Studio Code 的未来更新中支持它。

640?wx_fmt=png

因此, 我希望我们今天向您展示的内容加强了我们对. net 的承诺, 以构建您可以想象的任何东西。现在是成为. net 开发人员的最佳时机, 我们正在对该平台进行一些非常激动人心的创新。生态系统在增长, 这多亏了你! 

原文地址:https://www.cnblogs.com/shanyou/p/10925141.html

 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg

这篇关于Mono 和 .NET Core比翼双飞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/356517

相关文章

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

.NET 自定义过滤器 - ActionFilterAttribute

这个代码片段定义了一个自定义的 ASP.NET Core 过滤器(GuardModelStateAttribute),用于在控制器动作执行之前验证模型状态(ModelState)。如果模型状态无效,则构造一个 ProblemDetails 对象来描述错误,并返回一个 BadRequest 响应。 代码片段: /// <summary>/// 验证 ModelState 是否有效/// </

.Net Mvc-导出PDF-思路方案

效果图: 导语:     在我们做项目的过程中,经常会遇到一些服务性的需求,感到特别困扰,明明实用的价值不高,但是还是得实现;     因此小客在这里整理一下自己导出PDF的一些思路,供大家参考。     网上有很多导出PDF运用到的插件,大家也可以看看其他插件的使用,学习学习; 提要:     这里我使用的是-iTextSharp,供大家参考参考,借鉴方案,完善思路,补充自己,一起学习

.net MVC 导出Word--思路详解

序言:          一般在项目的开发过程中,总会接收到一个个需求,其中将数据转换成Work来下载,是一个很常见的需求;          那么,我们改如何处理这种需求,并输出实现呢?          在做的过程中,去思考 1、第一步:首先确认,Work的存在位置,并创建字符输出路:             //在的项目中创建一个存储work的文件夹             string

asp.net 中GridView的使用方法

可以看看,学习学习 https://blog.csdn.net/zou15093087438/article/details/79637042

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

ASP.NET状态管理的总结

由于HTTP协议的无状态特性,导致在ASP.NET编程中,每个请求都会在服务端从头到执行一次管线过程, 对于ASP.NET页面来说,Page对象都会重新创建,所有控件以及内容都会重新生成, 因此,如果希望上一次的页面状态能够在后续页面中保留,则必需引入状态管理功能。   ASP.NET为了实现状态管理功能,提供了8种方法,可帮助我们在页面之间或者整个用户会话期间保留状态数据。 这些方法分为二类:

ASP.NET手动触发页面验证控件事件

开发环境:.NET Framework 3.5.1 sp1 参考文章: http://www.codeproject.com/KB/aspnet/JavascriptValidation.aspx http://msdn.microsoft.com/zh-cn/library/aa479045.aspx http://www.cnblogs.com/minsentinel/archive/