虚拟研讨会:.NET的未来在哪里?
.NET生態(tài)系統(tǒng)在過去的一年中發(fā)生了很多事情。在幾個方面發(fā)展非常迅速:Xamari、UWP、.NET Core、.NET native、F#和開源等等。
如果要關注細節(jié),那大的景象難以描繪。因為在每個方面都有新的動作:跨平臺、云、移動、Web應用和通用應用。開發(fā)人員都想知道這一切會造成什么改變,要實現(xiàn)改變必須要做些什么。
小組成員:
Richard Lander,Microsoft .NET團隊首席項目經(jīng)理
Phillip Carter,Microsoft .NET團隊項目經(jīng)理
Phil Haack,GitHub工程總監(jiān)
Miguel de Icaza,Microsoft杰出工程師
InfoQ:.NET及其語言將向哪里發(fā)展?會面臨到什么挑戰(zhàn)?
Richard Lander:通過觀察目前廣泛支持.NET的設備和操作系統(tǒng),還有最近的.NET Core,你就可以展望到.NET的未來。你可以使用.NET構(gòu)建任何類型的應用程序,包括移動、Web、桌面以及IoT。有趣的是,.NET在很小一組開發(fā)平臺上,但可以在許多平臺上運行,具有很高的生產(chǎn)力和不斷發(fā)展的語言、工具和企業(yè)支持??傊?#xff0c;這就是我們對NET的觀點。
選擇開源.NET Core對.NET產(chǎn)生了巨大的影響。我們看到大量的開源開發(fā)者參與到.NET
Core和相關項目中來,.NET相關活動在GitHub也快速上升。許多企業(yè)對.NET的重大興趣和認真參與也讓我們感到非常驚訝。一些大的公司也加入了.NET基金會,比如說Samsung和Google。我們很高興能看到其他很多企業(yè)表態(tài):“.NET對我們的業(yè)務非常重要,我們需要更多參與到其中”。我們將會繼續(xù)開放和協(xié)作,采取更多方式來提升.NET。
2016年,Visual Studio for Mac的推出是很大的驚喜。它包括Xamarin和ASP.NET Core的工具。Visual Studio for Mac這款產(chǎn)品也表明了Microsoft的態(tài)度,就是我們正在認真促進跨平臺開發(fā)。我們還有Windows、Mac和Linux平臺的免費工具可以選擇,因此想要開始使用.NET非常簡單。
遇到的挑戰(zhàn)是想要讓人們意識到.NET不僅僅只是屬于Windows平臺下的,它已然變?yōu)榱四阆乱粋€項目可以使用的值得信賴的跨平臺開發(fā)選擇。我們在過去幾年內(nèi)做了一些巨大的改變,比如獲取Xamarin,開源.NET Core并搭建跨平臺工具支持。我們還有很多工作要做,才能讓人們對產(chǎn)品產(chǎn)生興趣,這是前進的關鍵點。
Philip Carter:對于.NET來說,現(xiàn)在最大的焦點莫過于.NET Standard Library 2.0和盡可能多使用容器技術(例如Docker)的經(jīng)驗。.NET Standard Library 2.0成就了絕大多數(shù)跨平臺.NET APIs,并為開發(fā)人員刨根知底他們所編寫的代碼提供了一種簡單的方法。如果你依賴的唯一.NET APIs來自.NET Standard Library,那可以確保在.NET運行時你的代碼能夠在任何地方運行,而你不需要付出額外的工作。同理NuGet包也是一樣的,如果你的系統(tǒng)依賴于.NET Standard Library,它可以在任何其他地方運行。從代碼共享的角度來看這是非常重要的,甚至它對于長期的靈活性也非常重要。需要目標Linux?你所有使用.NET Standard Library的代碼都在那里運行。我們也非常重視容器,希望你能非常容易地將代碼部署到容器,因此我們正在構(gòu)建工具來實現(xiàn)這一點。
對于.NET語言,我們正在努力為我們的語言創(chuàng)造開箱即用的工具。在即將發(fā)布的Visual Studio中我們提供了一些具有生產(chǎn)力的功能,在未來我們也會構(gòu)建更多的工具。在語言功能方面,C#和Visual Basic將著重于繼續(xù)添加F#中已有的函數(shù)式編程功能,比如基于表達式的模式匹配和記錄以及可區(qū)分聯(lián)合類型。不可空性也是我們感興趣的一個重大領域。F#可能更關注于更好的IDE工具,它已經(jīng)具備了前面提到的這些功能,但是缺乏與C#和Visual Basic一樣的質(zhì)量工具體驗。總之,會有更多功能來輔助函數(shù)式編程,并為每種語言創(chuàng)建更好的工具。
面臨的最大挑戰(zhàn)在于發(fā)布上述提到的有質(zhì)量保證、可支持的軟件需要耗費的大量工作。
Phil Haack:C#正朝著一個偉大的方向發(fā)展。目前其設計在GitHub上開放,社區(qū)可以跟進并為其發(fā)展做出貢獻。它添加了很多靈感來源于函數(shù)式編程的功能,這讓寫代碼變得更加愉悅。F#仍然是奇妙的函數(shù)式語言,它為C#很多功能激發(fā)了靈感,但似乎很難躋身主流語言行列。
.NET正在努力成長為跨平臺開發(fā)的強勁選擇,但在保持相對性和增長方面仍然面臨著挑戰(zhàn)。雖然C#開發(fā)人員非常緊缺,但在學校、bootcamps和code academies中教C#的比例與Node和JavaScript相比少了太多。雖然.NET生態(tài)系統(tǒng)很強大且在不斷增長,但它還是非常依賴于Microsoft。很少有大的公司為其OSS項目做出貢獻。NPM包數(shù)遠多于NuGet。擴大獨立的社區(qū)非常重要。
另一挑戰(zhàn)是現(xiàn)在Web的通用語言是JavaScript。因此,在成為跨平臺語言方面,Node和JavaScript有著巨大的吸引力,而C#比較少見于構(gòu)建Web應用程序。這也就解釋了Electron這樣的平臺的吸引力,它可以讓你把你已經(jīng)擁有的許多Web開發(fā)技能帶入到本地應用程序開發(fā)中來。因此C#和F#還需要做一些努力來超過其他的語言(JS在前,C#在后)。
Miguel de Icaza:.NET延續(xù)了它在第一次推出時就確定的一個傳統(tǒng)。它是一款不斷根據(jù)開發(fā)人員需求發(fā)展的框架,它一直擁有強大的互操作性并努力在實現(xiàn)生產(chǎn)力的同時確保性能。
今天,.NET幾乎可以在所有可用的平臺上使用:從服務器、臺式機到移動設備、游戲機、虛擬現(xiàn)實、增強現(xiàn)實環(huán)境、手表,甚至是像Raspberri-Pi等類似的小型嵌入式系統(tǒng)。
整個框架以一種最開放的方式開源了代碼,這也增加了成為未來Unix系統(tǒng)的核心組件到業(yè)界制造的新型秘密設備的可能。
實現(xiàn)生產(chǎn)力并確保性能對我來說非常重要,因為我從2000年開始使用.NET,那時候計算機只有現(xiàn)如今計算機的一小部分功能,但是.NET已經(jīng)提供了高性能運行,可以幫助開發(fā)人員創(chuàng)造出健壯的軟件。這是通過保證安全的編程環(huán)境,通過設計避免常見的編程錯誤實現(xiàn)的。
這種實現(xiàn)已經(jīng)被證明非常有用。我們需要隨身攜帶便攜式電腦,尤其是對于游戲開發(fā)人員來說,便攜的電腦非常重要。開發(fā)人員仍然希望在小部分時間內(nèi),在沒有高端計算機等設備的情況下創(chuàng)造出健壯的軟件。
至于挑戰(zhàn),這部分非常有趣,我想分享關于一開始概要中提到的框架的發(fā)展歷程的例子。
就像我所說的,.NET的一個文化優(yōu)勢是根據(jù)市場的需求不斷調(diào)整框架。從需要在本地完成的任務(比如運行環(huán)境優(yōu)化)到分布式級(更高級的框架)。
在過去的幾年中,我們不得不縮小框架來適應性能不足的設備,我們創(chuàng)造了智能鏈接器,將更智能的代碼生成并創(chuàng)造映射到新的硬件的APIs上。
這種趨勢一直持續(xù)了下去。舉個例子,過去一年的重點任務就是完善.NET,支持開發(fā)高性能服務器和客戶端代碼的新型用戶。這需要引入新的類型、原語和堆棧中的編譯器優(yōu)化。另一方面,現(xiàn)在.NET的開發(fā)人員可以使用Microsoft創(chuàng)造的技術(Orleans、ServiceFabric)或是社區(qū)創(chuàng)造的技術(MBrace)來創(chuàng)建分布式系統(tǒng)。
在互操作性領域我們一直在各個方面開展工作。我們正在努力讓.NET程序員可以更簡單地利用其他框架和語言寫的代碼,簡化了在其他語言中使用.NET代碼(我們已經(jīng)支持第一類C、C++、Java和Objective-C),并簡化了利用Azure AutoRest等工具與其他服務進行網(wǎng)絡通信的過程。
InfoQ:Roslyn的出現(xiàn)是如何幫助.NET和你們的語言(C#/ F# / VB .NET酌情而定)的成長的?
Richard Lander:這是一個非常簡單的問題,可能我的回答會涵蓋一些其他方面的內(nèi)容,提及運行環(huán)境。.NET運行環(huán)境存放這些語言和Roslyn,將其模型(大多是垃圾收集和類型安全的內(nèi)存)展示給開發(fā)人員。所以,缺少的是C++(其他同行忽略不計)。.NET運行環(huán)境團隊用C++編寫,Roslyn就可以存在,你就可以使用C#。他們真的非常寬容!
csc.exe(原來Roslyn C#編譯器)也是用C++編寫的,所以同樣的情況也適用于那里。
事實證明,編寫平臺原生組件的開發(fā)人員更喜歡C#。第一次這么聽說是嗎?他們正在積極地尋求用C#完成更多工作,并將更多的代碼庫轉(zhuǎn)換為C#。這是過度簡化,但你可以將Roslyn僅僅認為是用C#重寫csc.exe的一個項目。同時,用C#重寫運行環(huán)境組件也同樣重要。由于有引導問題,用C#重寫運行環(huán)境組件需要付出很多努力,但它是值得的。
C#代碼庫和C++相比有很多優(yōu)勢,原因如下:
它大大增加了可以參與到代碼庫貢獻中來的開發(fā)人員的基數(shù)。
我們有非常優(yōu)秀的C#工具,可以讓開發(fā)變得更為高效。
可以直接讓.NET庫運行在其他芯片和操作系統(tǒng)上。這對于在像Raspberry Pi上開發(fā).NET Core這樣的代碼庫是很好的。
更容易了解安全問題。
因此在我看來,最主要的事情就是將現(xiàn)有的C++代碼庫轉(zhuǎn)移到C#上。它使我們變得更加高效,讓更多.NET開發(fā)人員可以更方便地了解和操作基礎平臺。
Philip Carter:Roslyn對我們發(fā)展.NET非常關鍵,它幫助我們Microsoft構(gòu)建更好的工具,并為開發(fā)人員提供了一個新的平臺在語義上深入理解其代碼庫,以構(gòu)建新的一組工具。
從語言開發(fā)者的角度來看,Roslyn的直接好處之一是現(xiàn)代化的架構(gòu),可以添加新的語言功能,比以前C#和Visual Basic的編譯器更為容易。Roslyn還推出了Roslyn Workspaces,這是一個跨平臺編輯器抽象層?,F(xiàn)在用于Visual Studio和Visual Studio Code(通過OmniSharp),可以更輕松地利用各種語言服務。此外,F# 4.1將成為第一個使用Roslyn Workspaces和自己的語言服務的F#版本,改進了大量IDE工具并引入了新的功能。我們可以將F#視為市場上唯一一款有高質(zhì)量、一流的IDE工具的函數(shù)式編程語言,它一定有助于.NET的發(fā)展。Roslyn Workspaces可以幫助我們?yōu)樗?NET語言提供更好的語言特性。
Roslyn Analyzers通過提供一組APIs,讓你為C#和VB代碼庫構(gòu)建一組自定義工具,促進.NET的發(fā)展。第一個改進是讓人們可以更容易地構(gòu)建強大的靜態(tài)分析工具,但是你可以進一步使用像語義diff工具或其他需要了解你代碼語義結(jié)構(gòu)的東西。先于Roslyn出現(xiàn),但是它實際上只適用于常使用靜態(tài)分析工具的人。有了Roslyn Analyzers之后,這方面的開發(fā)現(xiàn)在由任何.NET開發(fā)人員完成。
Phil Haack:這有很大的影響。在Roslyn之前,實現(xiàn)代碼分析器的想法僅限于少數(shù)深入了解深奧原理的人。它的出現(xiàn)可以大眾化地提升編譯器,也為參與語言設計的人們鋪平了道路。一方面提出了新的語言功能,另一方面也可以讓其他人嘗試它,并聽取他們的想法。
Miguel de Icaza:它幫助統(tǒng)一了我們所有支持的平臺上的C#使用體驗:Visual Studio、VSCode和Xamarin Studio,還有新的開發(fā)技術,可以輕松地編寫活動代碼,并在iPad上使用Xamarin Workbooks或是Continuous嘗試活動代碼。
關于工具,開發(fā)人員不得不依靠未成熟創(chuàng)建的語言或是黑客。在C#世界中不必再這樣做,因為我們現(xiàn)在有了新的方法,開發(fā)人員可以完全掌握C#程序,操縱它并用完全相同的方式探索其語言世界。
F#較為獨立,它結(jié)合了.NET世界和函數(shù)式編程。這是一種總能引領潮流并非常適用于數(shù)據(jù)處理的語言。在這個對于機器學習興趣異常高漲的時候,F#正是解決問題的良方。
InfoQ:開發(fā)人員要如何用官方的.NET平臺、.NET Core平臺和Mono stacks?有辦法“跟上”嗎?什么應該用于新項目呢?
Richard Lander:2017年我們的主要目標是減少你需要跟上的事情的數(shù)量。最初,我們的設計是希望.NET Core與其他的.NET平臺能有顯著的不同。后來,我們就推翻了這些決定,在Visual Studio 2017版本中讓.NET Core與其他的.NET更為相似,在該版本中你會發(fā)現(xiàn).NET Core和.NET
Framework以及Xamarin一樣,轉(zhuǎn)為使用msbuild構(gòu)建引擎。這樣的改變能幫助.NET mobile和Web項目協(xié)同工作的體驗變得更加簡單。
我們還標準化了所有.NET平臺都有的最小APIs集,稱之為“.NET Standard”。我們將在2017年推出.NET Standard 2.0,并提供它的各種實現(xiàn)。這是我們曾定義且發(fā)布過的最大一組常用APIs。它比最大的Portable Class Library profile還要大兩倍。一旦.NET Standard 2.0在所有.NET平臺實現(xiàn),很多事情會變得更容易。許多人都期待它的發(fā)布,這是改變游戲規(guī)則的標準。
Philip Carter:這個問題問得很好,特別是在我們這么多年以來搭建了這么多東西的情況下。這是我喜歡的框架方式:
.NET是跨平臺的開發(fā)棧。它有一個標準庫,稱為.NET Standard Library,其中包含了大量的APIs。這個標準庫由各種.NET運行環(huán)境實現(xiàn):.NET Framework、.NET Core和Xamarin-flavored Mono。
.NET Framework就是現(xiàn)有的開發(fā)人員一直使用的.NET Framework。它實現(xiàn)了.NET Standard Library,就是說任何僅依賴于.NET Standard Library的代碼都可以在.NET Framework上運行。它包含了其他Windows專用的APIs,比如說用于Windows桌面開發(fā)的APIs如Windows Forms和WPF。.NET Framework針對構(gòu)建Windows桌面應用程序進行了優(yōu)化。
.NET Core是針對服務器工作負載優(yōu)化的新的跨平臺運行環(huán)境。它實現(xiàn)了.NET Standard Library,就是說任何使用.NET Standard Library的代碼都可以在.NET Core上運行。該運行環(huán)境適合新的Web開發(fā)棧ASP.NET Core使用。它是現(xiàn)代的、高效的并為處理大規(guī)模的服務器和云工作負載設計的。
Xamarin-flavored Mono是Xamarin應用程序的運行環(huán)境。它實現(xiàn)了.NET Standard Library,就是說任何僅依賴于.NET Standard Library的代碼都可以在Xamarin應用程序上運行。它包含了其他iOS、Android、Xamarin.Forms和Xamarin.Mac使用的APIs。它針對在iOS和Android上構(gòu)建移動應用程序進行了優(yōu)化。
此外,從即將發(fā)布的Visual Studio版本開始,運行環(huán)境中的工具和語言都將變得很常見。當你創(chuàng)建任何類型的.NET項目時,你將使用新的,但是已經(jīng)由.NET開發(fā)人員使用過多年的兼容的項目系統(tǒng)。MSBuild用于構(gòu)建項目,這就是說現(xiàn)有的構(gòu)建系統(tǒng)可以用于任何新的代碼,任何.NET
Standard或.NET Core代碼可以與現(xiàn)有的.NET Framework代碼一起使用。所有.NET語言在每個運行環(huán)境中都會用相同的方式編譯和運行。
什么應該用于你的新項目呢?這取決于你的需求。Windows桌面應用程序?請使用.NET
Framework,就像你之前一直做的一樣。服務器或Web應用程序?請使用ASP.NET Core,運行在.NET Core上。移動應用程序?請使用Xamarin。類庫和NuGet包?請使用.NET Standard
Library。使用標準庫對于在你的所有應用程序中共享代碼非常重要。
要想跟上的最好方法就是閱讀官方的.NET文檔。官方的.NET博客也有很多有關這些問題的帖子,但請注意,以前的帖子并不能準確描述最新的.NET發(fā)展。
Phil Haack:我傾向于比較保守。對于我的業(yè)務依賴的生產(chǎn)項目,我將使用經(jīng)過試驗的、真正的官方.NET平臺。但對于我的下一個項目,我一定會使用.NET Core,它沒有十多年向后兼容性的需求。
Miguel de Icaza:多虧有.NET Standard,特別是我們在.NET Standard 2.0中交付的APIs,開發(fā)人員不需要太多地考慮哪個運行環(huán)境來運行他們的應用程序。跟上.NET的人可能有興趣了解我們?yōu)槟承┨囟ㄓ美齼?yōu)化的運行環(huán)境(例如說,為移動應用和游戲優(yōu)化的Mono),但是在極大多數(shù)程度上,開發(fā)人員只需要知道,無論他們有什么需求,我們都已經(jīng)為他們滿足了。
當談論到選擇運行環(huán)境的問題,選擇方式應該是這樣的:
.NET Framework是以Windows為中心的框架,為Windows開發(fā)人員提供最好的服務。如果你正在搭建Windows為中心的應用程序,請你選擇它。
.NET Core是云優(yōu)化引擎,它是跨平臺的。它使用相同的高性能JIT編譯器,但在所有支持的操作系統(tǒng)(Windows、Linux、macOS)上運行代碼。它沒有特定的Windows
APIs,因為這有悖于跨平臺的目標。Mono是用于移動應用和Apple平臺(Android、iOS、watchOS、tvOS)的運行環(huán)境,用于游戲控制器和Unix桌面應用程序。
InfoQ:你喜歡其他語言的什么功能,并會考慮使用?(C#/ F# / VB .NET酌情而定)
Richard Lander:我喜歡JavaScript(以及其他類似JavaScript的語言)的一點是,你可以直接在文件中開始寫代碼,即使是一行代碼也可以運行。沒有什么復雜的流程,也沒有具體的概念要(提前)學習,這很有價值。有一些C#腳本解決方案也是這樣的,但它們沒有很好地集成。我們的一些語言功能也在朝這個方向努力,但還沒有做得這么好。我想如果能有個單行C#文件,作為"Hello World" Web API,那就太棒了。
作為處理運行環(huán)境的人,我想把問題再次引回運行環(huán)境上。比如說我喜歡JavaScript和PHP,因為它們可以從源代碼快速讀取并執(zhí)行。我也喜歡Go,因為它生成可執(zhí)行的本地單個文件。.NET是極少數(shù)的可以同時做到這兩點的平臺之一。我想看到我們?yōu)?NET開發(fā)人員提供這兩種選項,它們在真實場景中非常實用,特別是對于云編程來說這兩個選項都很有幫助。
Philip Carter:我們最喜歡C#和Visual Basic的功能之一就是不可空性。其中最大的,經(jīng)常造成“十億美元損失的錯誤”的問題就是空。如果沒有在代碼庫中檢查是否為空,那么每個.NET開發(fā)人員都要努力尋找錯誤??梢詫㈩愋蜆擞洖榉强站徒鉀Q了問題,把空的問題從運行時問題轉(zhuǎn)換為編譯時問題。然而,要實現(xiàn)這一點是很大的挑戰(zhàn),因為目前C#和Visual Basic的代碼庫沒有不可空性。因此,這種功能可能需要選擇性加入,并且不能破壞現(xiàn)有代碼。這在F#中實際上不算很大的問題,因為空性和不可空性已經(jīng)是這個語言的功能了。然而,當與其他.NET類型互操作時,F#開發(fā)人員還要關注空的問題。我們對選擇性加入不可空性非常感興趣。
我們感興趣的另一組語言功能是能夠?qū)崿F(xiàn)更好的即時多態(tài)性,即協(xié)議/特性和類型種類。它們可以幫助你擴展現(xiàn)有類型的功能,尤其是更靈活的類型種類,可以幫助你定義某種行為,而無需將其“固定”到某種特定類型上。像任意類型的層次結(jié)構(gòu)的語義等價比現(xiàn)在更為簡單。雖然協(xié)議/特性和類型種類并不在我們的路線圖中,但它們確實非常有趣,并幫助解決了你能碰到的有關.NET語言的一些細微問題。
Miguel de Icaza:我不負責這些語言的發(fā)展,但是作為一個用戶,我也希望C#和F#能包含這些功能。
對于F#我的要求很簡單:從個人來說,我非常依賴于它原來寫循環(huán)的方式。我希望在循環(huán)中支持break和continue。我知道這個要求有點奇怪,但這就是我最想要的功能:-)
對于C#,我希望它能結(jié)合更多F#好的想法,特別希望能引入F#中的不可空性。
InfoQ:Microsoft的開源調(diào)整已經(jīng)進行了一年多了。它對于.NET社區(qū)產(chǎn)生了什么影響或是改變?
Richard Lander:.NET的開源調(diào)整從2008年發(fā)布ASP.NET MVC源代碼就開始了,然后開源了Web API和SignalR,到2015年開源完整的.NET Core。到現(xiàn)在為止,超過50%.NET Core的更改來自社區(qū),C# repos的數(shù)量每天也在GitHub上增長。和過去相比發(fā)生了翻天覆地的變化,并為未來繪制了錦繡的藍圖。
作為開源的維護者,我們在努力做著偉大的工作。我們在幾個方面進行了突破:歡迎新加入的人,提供詳細的repo文檔和指導,設置PRs的高門檻,培養(yǎng)社區(qū)領導人并幫助運行項目。我們滿足了社區(qū)的一些期望,并與社區(qū)進行對話,協(xié)商他們期望能與眾不同的功能。從總體上來說,我覺得社區(qū)對于過去幾年中.NET Core和其他相關開源項目的發(fā)展情況是滿意的(在很多情況下是相當滿意的)。
.NET生態(tài)系統(tǒng)積極健康的開源平臺項目是非常有利的,它鼓勵更多的人參與到更多的開源項目中來。實際上,它創(chuàng)造的價值是你多年以前難以定論的,但你現(xiàn)在可以非常確定地說.NET是一個開源的生態(tài)系統(tǒng)。來自社區(qū)、小型企業(yè)、大型企業(yè)和公眾的反饋非常積極。
Philip Carter:我認為向開源的轉(zhuǎn)變給.NET社區(qū)帶來了巨大的好處?,F(xiàn)在.NET社區(qū)仍然熱衷于開源,也可能會因為突然的過渡而產(chǎn)生波動,但人們已經(jīng)看到了其中的價值和貢獻。即使是在不常與開源開發(fā)相關的文檔中,我們也看到了全社區(qū)參與進來做出的貢獻,我們有近100名非Microsoft的貢獻者。一名社區(qū)成員甚至評審了Microsoft員工在我們自己的存儲庫中做出的pull請求!我個人感覺.NET社區(qū)已經(jīng)具備了貢獻于其開發(fā)堆棧的能力,這個發(fā)現(xiàn)讓我非常激動。當然,這只是開始。當我們在Visual Studio for .NET Standard和.NET Core(這也是開源的)中發(fā)布質(zhì)量工具的時候,期待會有更多.NET開發(fā)者能關注進來,并為.NET做出貢獻。
Phil Haack:我可能算的不對,但這個活動已經(jīng)進行了超過一年了。只是在過去一年中達到了最高峰。社區(qū)應該也注意到Microsoft想真正加入到開源社區(qū)的堅定決心,可能還需要一段時間才能達到目標。畢竟,MS對開源的排斥遠遠超過一年,但我認為現(xiàn)在的態(tài)勢是積極的。.NET社區(qū)正在以一種前所未有的方式積極參與到.NET未來的建設中。所有新的.NET Core的開發(fā)和語言的設計都是在公共的GitHub上完成的,并接受大家的貢獻,很高興能看到這種態(tài)勢。社區(qū)的人們參與度越來越高,而不僅僅是做一名配角進行客串表演。
Miguel de Icaza:這讓開源.NET社區(qū)和使用.NET的人都感到非常激動。開源框架的好處在于框架是完全開放的,你就可以看到從性能,到內(nèi)存使用,到提高精確度,到可擴展性等等方面對代碼庫的貢獻。這是一種全面展示的良性循環(huán),因為我們共同建設并培養(yǎng).NET社區(qū)。
結(jié)論
.NET的開源已經(jīng)成為了規(guī)劃中的一部分,并預計將繼續(xù)發(fā)展.NET Core和.NET Standard 2.0。Microsoft致力于發(fā)展跨平臺,以吸引非Windows開發(fā)人員和平臺實施者。
有關小組成員
Richard Lander是Microsoft .NET團隊首席項目經(jīng)理。他于2000年畢業(yè)于加拿大滑鐵盧大學,獲得英語榮譽學位,在計算機科學和SGML/XML標記語言領域進行了深入學習,后來直接在Microsoft工作。Richard參與了.NET各個方面的工作(他于2003年加入團隊),包括與Windows集成,.NET應用程序模型以及客戶溝通。現(xiàn)在,Richard主要參與.NET Core開源項目,ASP.NET 5的跨平臺.NET以及與其他.NET公司(Xamarin、Unity)的合作。Richard經(jīng)常在.NET博客和@dotnet推特賬號上發(fā)表文章。在業(yè)余時間,他喜歡游泳、騎自行車和跑步,并且每年多次參與地方賽。他喜歡80年代英國搖滾和Doctor Who。他在加拿大和新西蘭長大。
Phillip Carter是Microsoft .NET團隊項目經(jīng)理。他目前主要做F#工具、.NET和.NET文檔。在加入Microsoft之前,Phillip是俄勒岡州立大學的學生,他從事學生開發(fā)者導師的工作,并且是移動應用程序開發(fā)俱樂部的主席。
Phil Haack是GitHub負責客戶端應用程序的工程總監(jiān),這個組包括桌面、基元、電子、編輯器工具團隊。Haack于2011年加入GitHub,是.NET社區(qū)的杰出成員。在加入GitHub之前,Phil是Microsoft的程序經(jīng)理。他的團隊開發(fā)NuGet和ASP.NET。
Miguel de Icaza是Microsoft杰出工程師,他的團隊負責創(chuàng)建令人愉悅的開發(fā)工具。他與Nat Friedman共同在1999年創(chuàng)建了Ximian,并在2011年創(chuàng)建了Xamarin。在此之前,Miguel于1997年共同創(chuàng)建了GNOME項目,并自2001年創(chuàng)立以來一直負責Mono項目,包括Novell的多個Mono版本。Miguel于1999年獲得了免費軟件基金會發(fā)布的免費軟件獎,以及MIT技術評審創(chuàng)新者獎,并在2000年9月被提名為時代雜志評選的100名新世紀的創(chuàng)新者之一。
原文地址:http://www.infoq.com/cn/articles/virtual-panel-dotnet-future
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結(jié)
以上是生活随笔為你收集整理的虚拟研讨会:.NET的未来在哪里?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio 2017 R
- 下一篇: asp.net ajax控件工具集 Au