大家好,今天给大家分享.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比翼双飞的更多相关文章

  1. 魅力 .NET:从 Mono、.NET Core 说起

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

  2. .NET:从 Mono、.NET Core 说起

    魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...

  3. 魅力 .NET:从 Mono、.NET Core[转]

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

  4. 一起了解 .Net Foundation 项目 No.12

    .Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. Cecil Cecil 是 ...

  5. .NET Core与.NET Framework、Mono之间的关系

    随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core.经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞 ...

  6. 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅1】

    鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash  ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台  ,收 ...

  7. 云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)

    最近.net core如火如荼,国内这方面环境搭建方面的文档也非常多,但是不少已经是过时的,就算按照那个流程走下去也避免不了一些地方早就不一样了.所以下面我将从头到尾的教大家搭建一次环境,并且成功运行 ...

  8. 从Unity3D编译器升级聊起Mono

    接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识. Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的M ...

  9. ASP.NET Core 阶段性总结

    自从年前用 ASP.NET 5 磕磕绊绊重写了一个项目后 (2015.12),就没怎么关注 ASP.NET 5 相关内容了,为啥?因为实际应用问题太多,而且不是正式版本,变化实在太快,可能你今天了解的 ...

随机推荐

  1. 一丶Python模块之getpass模块

    Python模块之getpass模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. getpass模块提供了可移 ...

  2. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

  3. response.setHeader参数、用法的介绍

    response.setHeader 是用来设置返回页面的头 meta 信息, 使用时 response.setHeader( name, contect ); meta是用来在HTML文档中模拟HT ...

  4. spring 找不到applicationContext.xml解决方法

    初学Spring在用Resource rs=new ClassPathResource("applicationContext.xml");时老是遇到这个错误.后来发现用Appli ...

  5. PHP文件上传类(页面和调用部分)

    <!--upform.html内容--> <form action="upload.php" method="post" enctype=&q ...

  6. hdu 1166 树状数组(线段树)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. EC++学习笔记(二) 构造/析构/赋值

    条款05:了解c++默默编写并调用了哪些函数 编译器可以暗自为 class 创建default构造函数,copy构造函数,copy assignment操作和析构函数所有这些函数都是 public 并 ...

  8. HDU 5009 Paint Pearls(西安网络赛C题) dp+离散化+优化

    转自:http://blog.csdn.net/accelerator_/article/details/39271751 吐血ac... 11668627 2014-09-16 22:15:24 A ...

  9. android开启线程,异步处理数据实例

    package com.example.sywang2; import com.zds.os.R; import android.os.Bundle; import android.os.Handle ...

  10. python3.6安装遇到的问题

    Ubuntu16.04版本最新的Python 3.x版本3.5 . 可以从源代码执行安装最新稳定版本3.6. 要安装Python 3.6 ,请运行以下命令: # wget https://www.py ...