Mono 和 .NET Core比翼双飞
大家好,今天给大家分享.NET 蓝图之下的Mono和.NET Core 话题,微软在Build 2019 大会上给.NET 做了一个五年规划,所以分享的主题就是《Mono和.NET Core 比翼双飞》,将在完成这个五年规划的时候合体。
在开始这个主题之前,我先做下自我介绍,我叫张善友,连续13年被评为微软最有价值专家(MVP)。拥有超过十七年IT行业经验,2018年创立深圳市友浩达科技有限公司,从事.NET 技术顾问工作,工作之余,他还热心于进行社区奉献,运营微信公众号“dotnet跨平台”,同时积极参与.NET社区开源项目,被尊称为张队
首先Mono和.NET Core都是微软.NET 品牌之下的两大产品平台,借助于这两大平台,我们可以构建任何应用程序,更重要的是它是一个开源跨平台和免费的,而且还有微软的官方支持。相比隔壁的咖啡的分裂和收费,是个明白人都应该知道怎么选更加符合商业利益。
您可以使用. net 构建任何内容。 多年来, 微软在. net 方面进行了大量投资,比如收购Xamarin,和Unity的合作等等,通过成立.NET基金会来运作.NET,.NET Core和Mono都在.NET基金会, 并统一了生态系统, 以支持构建任何东西。从桌面到游戏再到云,. net 是一个通用的编程平台, 支持各种方案。一旦你学会了一个, 你就可以很容易地拿起另一个。此外, 您还可以使用自己喜爱的工具和编辑器构建. net 应用程序, 或使用 mac 的 Visual Studio、Visual Studio code 或 Visual Studio。
15年来, 微软的客户一直致力于我们的平台、语言和工具的生产力。微软现在正在利用这些新架构在云原生、跨平台和设备本机方法上获得现有客户和新客户。这里只是列出来几个,很有幸我作为客户代表在.NET Core 1.0就开始参与一个和微软合作的项目,这个项目就是把.NET生态下的API网关Ocelot 进入生产。微软的网站上还有更多 (和他们的故事)。
. Net 基金会是我们围绕. net 生态系统进行开放式开发和协作的重心。. Net 基金会在其管理下拥有50多个项目和数百个回购项目。开源软件基金会提供保护、支持、服务和最佳实践, 帮助每个项目取得成功, 并发展人和软件的生态系统。
生态系统从你开始!通过参加 (或组织!) 会议来参与进来。为项目做贡献, 或者只是看新闻。访问 www.dotnetfoundation.org,以成员身份加入基金会, 并为董事会投票。
Linux 基金会执行董事 jim Zemlin 说, "有10个开源项目, 投资于具有可持续生态系统的项目"。. Net 是其中之一。CNCF 跟踪前30名最高速度的开源项目。这是一个对数刻度, 用于测量在 X 轴上提交的 oss 项目速度和 y 轴上的 PR 和问题, 作者的 # 由圆的大小表示。右上角越远, 项目的活动就越多。Linux 内核 #1, 其次是Chromium,Kubernetes 和微软文档。请注意. net 是 #1 应用程序框架。
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 的未来更新中支持它。
. Net Core 是我们跨平台、开源实现. net 的, 非常适合云原生跨平台服务的要求。我们在核心性能和 web 堆栈方面进行了大量投资, 以便您可以轻松地利用云模式和规模。 . Net Core 3 将扩展受支持的工作负载, 以包括 IoT、AI 和 Windows 桌面。
微服务也将是. net Core 3 的一大主题。我们正在研究快速构建这些模式和模板的其他模式和模板。
Mono 也是 我们跨平台、开源实现. net 的, 在ios 和 android 的移动应用开发领域和游戏/虚拟现实技术具有重要价值
.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 的未来更新中支持它。
因此, 我希望我们今天向您展示的内容加强了我们对. net 的承诺, 以构建您可以想象的任何东西。现在是成为. net 开发人员的最佳时机, 我们正在对该平台进行一些非常激动人心的创新。生态系统在增长, 这多亏了你!请参与并在我们的网站上了解更多信息。
Mono 和 .NET Core比翼双飞的更多相关文章
- 魅力 .NET:从 Mono、.NET Core 说起
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
- .NET:从 Mono、.NET Core 说起
魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...
- 魅力 .NET:从 Mono、.NET Core[转]
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
- 一起了解 .Net Foundation 项目 No.12
.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. Cecil Cecil 是 ...
- .NET Core与.NET Framework、Mono之间的关系
随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core.经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞 ...
- 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅1】
鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台 ,收 ...
- 云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)
最近.net core如火如荼,国内这方面环境搭建方面的文档也非常多,但是不少已经是过时的,就算按照那个流程走下去也避免不了一些地方早就不一样了.所以下面我将从头到尾的教大家搭建一次环境,并且成功运行 ...
- 从Unity3D编译器升级聊起Mono
接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识. Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的M ...
- ASP.NET Core 阶段性总结
自从年前用 ASP.NET 5 磕磕绊绊重写了一个项目后 (2015.12),就没怎么关注 ASP.NET 5 相关内容了,为啥?因为实际应用问题太多,而且不是正式版本,变化实在太快,可能你今天了解的 ...
随机推荐
- conda管理包
清理 conda clean --lock --tarball --package (安装包) 安装或更新包 conda install numpy=1.9.3 conda update numpy= ...
- 【JavaScript 3—基础知识点】:运算符
导读:其实看到这个运算符的学习,很有一种熟悉感,因为在总体看来,和之前的C++有很多类似的地方,但当时觉得简单,没有总结.所以,这次一定得总结了.其实,知识的罗列,基础的积累,在学习中也很重要. 一. ...
- [HDU-4825] Xor-Sum (01字典树)
Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeu ...
- KD-Tree 的笔记
声明: 蒟蒻对于 KD-Tree 的一点理解,写在博客里面作为笔记. 1.KD-Tree 的定义 1)关于 K-D KD-Tree 中的 D 即为 Dimension ,意思也就是维度. 所以 KD- ...
- Linux之VMware虚拟机取消DHCP
1.点击编辑项 2.选择VMnet1 点击更改设置 3.选择VMnet1 去掉使用本地DHCP服务 点击应用 原文地址:https://blog.csdn.net/star_in_shy/arti ...
- CentOS7关于网络的设置
装好CentOS7后,我们一开始是上不了网的 这时候,可以输入命令dhclient,可以自动获取一个IP地址,再用命令ip addr查看IP 不过这时候获取的IP是动态的,下次重启系统后,IP地址也会 ...
- DP的序--Codeforces956E. Wardrobe
$n \leq 10000$个盒子,有高度,高度总和$\leq 10000$,盒子有重要的和不重要的,问最多有多少重要盒子的底端在区间$[L,R]$. 这是个入门级的DP,但需要一点胆量MD这题能放D ...
- javascript事件委托和jQuery事件绑定on、off 和one以及on绑定多个事件(重要)
一. 事件委托什么是事件委托?用现实中的理解就是:有100 个学生同时在某天中午收到快递,但这100 个学生不可能同时站在学校门口等,那么都会委托门卫去收取,然后再逐个交给学生.而在jQuery 中, ...
- 标准C程序设计七---16
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- 系统进程的Watchdog
编写者:李文栋 /rayleeya http://rayleeya.iteye.com/blog/1963408 3.1 Watchdog简介 对于像笔者这样没玩过硬件的纯软程序员来说,第一次看到这个 ...