你們好,今天給你們分享.NET 藍圖之下的Mono和.NET Core 話題,微軟在Build 2019 大會上給.NET 作了一個五年規劃,因此分享的主題就是《Mono和.NET Core 比翼雙飛》,將在完成這個五年規劃的時候合體。android
在開始這個主題以前,我先作下自我介紹,我叫張善友,連續13年被評爲微軟最有價值專家(MVP)。擁有超過十七年IT行業經驗,2018年創立深圳市友浩達科技有限公司,從事.NET 技術顧問工做,工做之餘,他還熱心於進行社區奉獻,運營微信公衆號「dotnet跨平臺」,同時積極參與.NET社區開源項目,被尊稱爲張隊ios
首先Mono和.NET Core都是微軟.NET 品牌之下的兩大產品平臺,藉助於這兩大平臺,咱們能夠構建任何應用程序,更重要的是它是一個開源跨平臺和免費的,並且還有微軟的官方支持。相比隔壁的咖啡的分裂和收費,是個明白人都應該知道怎麼選更加符合商業利益。web
您可使用. 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 進入生產。微軟的網站上還有更多 (和他們的故事)。c#
. Net 基金會是咱們圍繞. net 生態系統進行開放式開發和協做的重心。. Net 基金會在其管理下擁有50多個項目和數百個回購項目。開源軟件基金會提供保護、支持、服務和最佳實踐, 幫助每一個項目取得成功, 並發展人和軟件的生態系統。windows
生態系統從你開始!經過參加 (或組織!) 會議來參與進來。爲項目作貢獻, 或者只是看新聞。訪問 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 201九、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 201九、Visual Studio for Mac 和 Visual Studio Code 的將來更新中支持它。
所以, 我但願咱們今天向您展現的內容增強了咱們對. net 的承諾, 以構建您能夠想象的任何東西。如今是成爲. net 開發人員的最佳時機, 咱們正在對該平臺進行一些很是激動人心的創新。生態系統在增加, 這多虧了你!請參與並在咱們的網站上了解更多信息。