.NET 和 Mono 的一点历史
提到微軟公司研發 .NET Framework 的初衷,難免要提到 SUN 公司1995年推出的 Java 語言。由于 Java 在業界得到了廣泛的支持而且迅速建立了龐大的生態系統,微軟也不得不考慮如何加以應對,畢竟自己手里的 Visual Basic 和 Visual C++ 和 Java 一比都有不小的差距。這也就導致了1996年3月12日發生了讓業界吃驚的一幕,微軟居然從 SUN 取得了 Java 的相關授權,可以開發 Java 平臺的 IDE 產品[1]。微軟當時預計大約1996年年中便可以推出相關的開發工具。跳票許久,10月15日,微軟正式發布 SDK for Java,兩個月內下載次數超過50,000。11月,Anders Hejlsberg 離開 Borland 公司,加入微軟。
1997年1月微軟終于推出了 Visual J++ 1.0。然后由于測試的失誤,發布后由于安裝鏡像無法支持當時已經很火的 Windows 95 操作系統,微軟不得不宣布將盡快修復這一問題[4]。3月3日,微軟推出 Visual J++ 1.1[5]。由于 Visual J++ 并不符合 Java 相關規范,甚至沒有實現 JNI 等基礎功能,SUN 對微軟提出了訴訟[6]。5月,Scott Guthrie 從 Duke University 計算機系畢業,加入微軟。
在訴訟期間,1998年10月6日微軟又發布了 Visual J++ 6.0。由于新引入的 Microsoft Foundation Classes 使得通過 Java 語言能夠十分便利的開發 Windows 各種類型的應用程序[7],微軟進一步惹怒了 SUN。該訴訟直到2001年才初步和解。2004年,雙方進一步達成合作[8]。
也就是由于這場曠日持久的訴訟,以及 Visual J++ 6.0 發布之后獲得的用戶支持,微軟決心獨立研發自己的開發平臺來和 Java 競爭。于是1998年、1999年兩年它都在招兵買馬。Scott Guthrie 便是在1999年11月加入了ASP.NET設計團隊,隨后主導了WebForms框架的設計[9]。
2000年6月22日,微軟對外公開 .NET 平臺 [10],隨后于7月11日在PDC大會上發布了 .NET Framework 和 Visual Studio .NET 測試版。由于全新工具和語言帶來的開發便利性,.NET 這一概念很快獲得了廣泛關注。比如,在XP2000大會上,Philip Craig 演示了 NUnit 框架的原型[11]。9月11日,Mike Kruger 啟動了 SharpDevelop 項目,開始開發一個開源的 C# IDE[12]。2001年1月,Lutz Roeder 開始發布 .NET Reflector,一個可以反編譯 MSIL 的工具[13]。2001年6月,Neoworks Limited 開始研發 log4net[14]。2001年7月5日,Gerry Shaw 開始發布 NAnt [15]。9月29日,Kral Ferch、Jason Diamond 開始開發 NDoc [16]。開源社區和微軟社區專家們只用了很短時間就將 Java 平臺的主要框架遷移到了 .NET 平臺。
2001年5月3日,微軟宣布了 Shared Source 計劃,有限制的向開發者公開部分產品的源代碼[17],而沒有采取開源自己產品代碼的方式。
2002年2月13日,微軟正式發布 .NET Framework 1.0 [18]。7月11日,Jim Newkirk 開始設計 NUnit 2.0 [19]。8月6日,Borland 發布 Delphi 7,包含 Delphi for .NET 預覽版[20]。
2003年2月,DevExpress 收購 CodeRush,Mark Miller 開始設計 CodeRush for Visual Studio[21]。4月3日,微軟正式發布 .NET Framework 1.1[22]。4月23日,微軟發布 Windows Server 2003[23]。5月6日 Borland 公布 C#Builder 產品。C#Builder 1.0 于6月6日正式發布。12月22日,Delphi for .NET 正式發布[24]。
2004年1月,Peter Waldschmidt 開始發布 NCover [25]。1月28日,微軟發布 Enterprise Libraries 1.0 [26]。3月25日,DevExpress 發布 CodeRush for Visual Studio .NET[27]。4月5日,微軟在 SourceForge 上開源 WiX 項目[28]。7月3日,微軟發布 .NET Framework 2.0 Beta 1 [29],構建工具 MSBuild 和 Visual Studio 內置的 MSTest 公布。7月22日,JetBrains 發布 ReSharper 1.0[30]。10月12日,Borland 發布 Delphi 2005,包含 Delphi for .NET 和 C#Builder 2.0。
2005年4月18日,微軟發布 .NET Framework 2.0 Beta 2。5月1日,RemObjects 發布 Chrome 1.0[31]。10月10日,Borland 發布 Delphi 2006[24]。
2005年11月7日,微軟正式發布.NET Framework 2.0和Visual Studio 2005[32]。同日,RemObjects 發布 Chrome 1.5,全面支持微軟的新平臺[31]。
2006年6月27日,在Jim NewKirk 領導下,微軟的開源托管平臺 CodePlex 正式上線[33]。7月26日,NDoc 項目負責人 Kevin Downs 表示該項目開發工作停止[34]。7月29日,微軟發布 Sandcastle CTP[35]。11月2日,Novell 和微軟宣布達成深度合作和專利授權[36]。11月6日微軟發布.NET Framework 3.0,引入 WPF、WCF 和 WF 等全新框架 [32]。
2007年4月19日,微軟發布.NET Framework 3.5 Beta 1。7月21日,Scott Hanselman 宣布將加入微軟公司[37]。9月5日,微軟發布 Silverlight 1.0[38]。9月17日,NCover 宣布轉為收費軟件[39]。9月19日,Brad Wilson 和 Jim Newkirk 發布 xUnit.net 項目1.0 Beta 1,一個全新的單元測試框架[40]。10月3日,微軟宣布基于參考協議公布部分.NET Framework 源代碼,但該協議不符合 OSI 開源軟件定義,因此并非開源代碼[41]。11月19日,微軟發布 .NET Framework 3.5 和 Visual Studio 2008[42]。
2008年5月15日,微軟正式開源 Enterprise Libraries 4.0[43]。5月30日,RemObjects 發布 Oxygene 3.0,正式加入 MonoDevelop IDE 支持[44]。7月2日,微軟開源 Sandcastle[35]。8月11日,微軟發布 .NET Framework 3.5 SP1[45]。8月20日,Red Gate 宣布接手 .NET Reflector 的代碼[13]。10月2日,微軟開源MEF [46]。10月14日,微軟發布Silverlight 2.0[47]。10月29日,Anders 在 PDC 上演示了 Roslyn[48]。同日,Miguel 演示了 Mono 的新進展,包括 C# Shell [49]。
2009年2月12日,Novell 在微軟的協助下推出 Moonlight 1.0,兼容 Silverlight[50]。4月2日,微軟發布 ASP.NET MVC 1.0 并完全開源[51]。4月27日,NancyFx 項目開啟[52]。7月9日,微軟發布 Silverlight 3.0[53]。
2010年2月15日,微軟公開了 Windows Phone 7 移動操作系統 [54]。4月12日,微軟推出 .NET Framework 4.0和 Visual Studio 2010 [55]。4月15日,微軟發布 Silverlight 4.0 [56]。4月21日,微軟基于 MS-PL 公開 Dynamic Language Runtime 1.0源代碼 [57],7月17日起授權協議改為更加寬松的 Apache 協議[58]。10月21日搭載 Windows Phone 7的手機上市銷售 [54]。11月4日,微軟開源 F# 編譯器和運行時 [59]。
2011年1月3日,微軟發布 NuGet 包管理器 [60]。4月18日,微軟發布.NET Framework 4.0.1。10月19日,微軟發布 .NET Framework 4.0.2。12月9日,微軟發布 Silverlight 5.0[61]。
2012年3月28日,微軟開放 ASP.NET MVC,Web API 和 Razor 源代碼 [62]。6月20日,微軟公開了 Windows Phone 8[63]。7月19日,微軟開源 Entity Framework [64]。8月1日,微軟發布 Windows 8 操作系統,并引入 Windows Runtime 這個新開發平臺。8月15日,微軟發布.NET Framework 4.5和Visual Studio 2012[65]。10月9日,微軟停止開發 Sandcastle,該項目移交給 Eric Woodruff [66]。10月29日,搭載 Windows Phone 8的手機正式發布。
2013年10月17日,微軟發布 .NET Framework 4.5.1 和 Visual Studio 2013[67]。
2014年4月2日,微軟公開了 Windows Phone 8.1[68]。4月3日,微軟宣布開源 Roslyn 項目[69]。4月14日,Windows Phone 8.1正式向開發者發布。4月16日,DevExpress 宣布將開發 CodeRush for Roslyn。Mark Miller 確認前 CodeRush 開發人員?Dustin Campbell 領導了 Roslyn 的設計[70]。5月5日,微軟發布 .NET Framework 4.5.2[71]。5月14日,ASP.NET 項目源代碼從 CodePlex 遷往 GitHub [72]。7月21日,TypeScript 項目也遷往 GitHub[73]。11月12日,微軟宣布開源 .NET Core,同時參考代碼的授權協議也修改為 MIT 協議從而完全開放[74]。
2015年1月10日,Roslyn 項目代碼遷往 GitHub[75]。1月13日,F# 代碼遷往 GitHub[76]。1月21日,微軟公開 Windows 10 Mobile[77]。2月3日,微軟在 GitHub 發布 CoreCLR [78]。3月18日,微軟開源 MSBuild [79]。4月29日,微軟公開了 Visual Studio Code [80]。7月20日,微軟發布 .NET Framework 4.6和 Visual Studio 2015[81]。7月29日,微軟發布 Windows 10[82]。8月11日,NuGet 項目遷往 GitHub [83]。11月17日,微軟發布 .NET Framework 4.6.1和 Visual Studio 2015 Update 1。11月18日,微軟宣布開源 Visual Studio Code。同日,微軟發布 .NET Core 5和 ASP.NET 5 RC 1[84]。11月20日,微軟正式發布 Windows 10 Mobile。
2016年1月13日,JetBrains 公布了 Project Rider,一個基于 IntelliJ 平臺的 C# IDE[85]。1月19日,微軟將新平臺的名稱改為 .NET Core 1.0和ASP.NET Core 1.0[86]。2月24日,微軟宣布收購 Xamarin [87]。3月1日,Project Rider 封閉測試開始[88]。
[1]?https://news.microsoft.com/1996/03/12/microsoft-and-sun-microsystems-conclude-agreement-to-license-technology-for-java/
[2]?https://news.microsoft.com/1996/12/11/microsoft-sdk-for-java-attracts-more-than-50000-developers-in-nearly-two-months/
[3]?https://www.linkedin.com/in/ahejlsberg
[4]?http://www.javaworld.com/article/2077619/developer-tools-ide/visual-j—1-0-runs-into-a-little-installation-snag.html
[5]?https://news.microsoft.com/1997/03/03/microsoft-announces-visual-j-1-1/
[6]?https://news.microsoft.com/2001/01/23/microsoft-reaches-agreement-to-settle-contract-dispute-with-sun-microsystems/
[7]?https://news.microsoft.com/1998/10/06/microsoft-ships-enterprise-solutions-with-microsoft-visual-j-6-0/
[8]?https://news.microsoft.com/2004/04/02/microsoft-and-sun-microsystems-enter-broad-cooperation-agreement-settle-outstanding-litigation/
[9]?https://www.linkedin.com/in/guthriescott
[10]?https://news.microsoft.com/2000/07/11/microsoft-announces-groundswell-of-support-for-net-platform/
[11]?https://groups.google.com/forum/#!topic/nunit-discuss/Js-N_eqMkGU
[12]?https://en.wikipedia.org/wiki/SharpDevelop
[13]?https://en.wikipedia.org/wiki/.NET_Reflector
[14]?https://logging.apache.org/log4net/history.html
[15]?http://nant.sourceforge.net/nightly/latest/releasenotes.html
[16]?https://github.com/twpol/ndoc/commit/1ceacb37a404169f0d6574dec754009d9a1e1b43
[17]?https://news.microsoft.com/speeches/speech-transcript-craig-mundie-the-new-york-university-stern-school-of-business/
[18] https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_1.0
[19]?https://github.com/nunit/nunitv2/commit/82b7fd3361733d3504377ca21996ac9e431b9679
[20]?http://delphi.wikia.com/wiki/Delphi_7
[21]?https://www.linkedin.com/in/mark-miller-a718761
[22]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_1.1
[23]?https://en.wikipedia.org/wiki/Windows_Server_2003
[24]?http://www.drbob42.com/delphi/index.htm
[25]?https://en.wikipedia.org/wiki/NCover
[26]?http://www.peterprovost.org/blog/2005/01/28/Enterprise-Library-10-Release-to-Web-(RTW)/
[27]?http://www.pcreview.co.uk/threads/ann-coderush-for-net-now-available.1406578/
[28]?https://en.wikipedia.org/wiki/WiX
[29]?https://jonathanparker.wordpress.com/2014/12/05/list-of-net-framework-versions/
[30]?https://resharper-support.jetbrains.com/hc/en-us/community/posts/206097229-ReSharper-1-0-is-released
[31]?http://blogs.remobjects.com/2008/05/01/three-years-of-chrome/
[32]?https://en.wikipedia.org/wiki/.NET_Framework#Release_history
[33]?https://blogs.msdn.microsoft.com/codeplex/2006/06/27/welcome-to-codeplex/
[34]?http://charliedigital.com/2006/07/26/ndoc-2-is-officially-dead/
[35]?https://en.wikipedia.org/wiki/Sandcastle_(software)#History
[36]?http://news.microsoft.com/2006/11/02/microsoft-and-novell-announce-broad-collaboration-on-windows-and-linux-interoperability-and-support/
[37]?http://www.hanselman.com/blog/BlueBadge.aspx
[38]?https://en.wikipedia.org/wiki/Microsoft_Silverlight
[39]?http://www.ncover.com/blog/uncovering-the-new-ncover/
[40]?http://jamesnewkirk.typepad.com/posts/2008/04/xunitnet-10-rel.html
[41]?http://weblogs.asp.net/scottgu/releasing-the-source-code-for-the-net-framework-libraries
[42]?https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2008
[43]?https://entlib.codeplex.com/releases/view/13498
[44]?http://blogs.remobjects.com/2008/04/24/remobjects-oxygene-3-0/
[45]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#Service_Pack_1
[46]?http://blogs.msdn.com/gblock/archive/2008/10/02/mef-going-ms-pl-the-little-engine-that-could.aspx
[47]?http://weblogs.asp.net/scottgu/silverlight-2-released
[48]?https://channel9.msdn.com/blogs/pdc2008/tl16
[49]?http://channel9.msdn.com/pdc2008/PC54/
[50]?https://weblogs.asp.net/scottgu/moonlight-1-0-release
[51]?http://www.hanselman.com/blog/MicrosoftASPNETMVC10IsNowOpenSourceMSPL.aspx
[52]?https://github.com/NancyFx/Nancy/commit/9a26209feb52a347f5de4aaf38abb55e0b408a63
[53]?https://en.wikipedia.org/wiki/Microsoft_Silverlight_version_history#Silverlight_3
[54]?https://en.wikipedia.org/wiki/Windows_Phone_7
[55]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#History
[56]?https://en.wikipedia.org/wiki/Microsoft_Silverlight_version_history#Silverlight_4
[57]?https://dlr.codeplex.com/releases/view/21425
[58]?http://tirania.org/blog/archive/2010/Jul-17-1.html
[59]?https://blogs.msdn.microsoft.com/dsyme/2010/11/04/announcing-the-f-compiler-library-source-code-drop/
[60]?https://docs.nuget.org/release-notes/nuget-1.1
[61]?https://en.wikipedia.org/wiki/Microsoft_Silverlight_version_history#Silverlight_5
[62]?http://weblogs.asp.net/scottgu/asp-net-mvc-web-api-razor-and-open-source
[63]?https://en.wikipedia.org/wiki/Windows_Phone_8
[64]?http://weblogs.asp.net/scottgu/entity-framework-and-open-source
[65]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_4.5
[66]?http://sandcastle.codeplex.com/discussions/398496
[67]?https://blogs.msdn.microsoft.com/visualstudio/2013/10/17/visual-studio-2013-released-to-web/
[68]?https://en.wikipedia.org/wiki/Windows_Phone_8.1
[69]?http://visualstudiomagazine.com/articles/2014/04/03/microsoft-open-sources-roslyn-compiler.aspx
[70]?https://community.devexpress.com/blogs/markmiller/archive/2014/04/16/is-there-a-roslyn-based-coderush-in-your-future.aspx
[71]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_4.5.2
[72]?http://sdtimes.com/sd-times-blog-microsoft-open-sources-asp-net-on-github/
[73]?https://blogs.msdn.microsoft.com/typescript/2014/07/21/new-compiler-and-moving-to-github/
[74]?https://blogs.msdn.microsoft.com/dotnet/2014/11/12/net-core-is-open-source/
[75]?https://blogs.msdn.microsoft.com/csharpfaq/2015/01/10/were-moving-to-github/
[76]?https://blogs.msdn.microsoft.com/fsharpteam/2015/01/13/visual-f-has-moved-to-github/
[77]?https://en.wikipedia.org/wiki/Windows_10_Mobile
[78]?https://blogs.msdn.microsoft.com/dotnet/2015/02/03/coreclr-is-now-open-source/
[79]?https://blogs.msdn.microsoft.com/dotnet/2015/03/18/msbuild-engine-is-now-open-source-on-github/
[80]?https://en.wikipedia.org/wiki/Visual_Studio_Code
[81]?https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_4.6
[82]?https://en.wikipedia.org/wiki/Windows_10
[83]?http://blog.nuget.org/20150811/NuGet2-MoveToGitHub.html
[84]?https://blogs.msdn.microsoft.com/dotnet/2015/11/18/announcing-net-core-and-asp-net-5-rc/
[85]?https://blog.jetbrains.com/dotnet/2016/01/13/project-rider-a-csharp-ide/
[86]?http://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx
[87]?https://weblogs.asp.net/scottgu/welcoming-the-xamarin-team-to-microsoft
[88]?https://www.reddit.com/r/csharp/comments/48ierd/project_rider_eap_started/
原文地址:https://blog.lextudio.com/2016/03/a-history-of-dotnet-and-mono/
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
贊賞
人贊賞
總結
以上是生活随笔為你收集整理的.NET 和 Mono 的一点历史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIS负载均衡-Application
- 下一篇: ASP.NET Core 开发-中间件(