華文網

微軟有了.Net Framwork為什麼又推出了.Net Core

熟悉Visio Studio的朋友都知道,.Net是微軟開發的一種程式設計環境,在這種環境中,可以開發在Windows上運行的幾乎所以程式。Visio Studio現在已經發展到Visio Studio 2017了,從Visio Studio 2015開始,.Net環境除了.Net Framwork,還提供了另一種選擇,那就是.Net Core。

那麼,微軟為什麼做這種顛覆性的改變呢?

這就要從.Net Framwork說起了。.Net Framwork 1.0從2002年發佈後,已經發展了15年了,到目前為止已經到了.Net Framwork 4.6了,大約每兩年就推出一個新的主要版本,包括的類超過2000多個。那麼問題就來了,如此多的類必然是一個巨大的框架,對開發人員來說,掌握這個框架並不容易。

而且這個框架中的許多類對新的應用程式並不重要,即使是新的類,在開發時選擇一個最好的也是不容易的,例如,Web應用程式選擇使用ASP.NET Web Froms還是ASP.MVC,用戶端應用程式選擇使用Windows Forms和WPF(Windows Presentation Foundation)還是Universal Windows Platform,為資料訪問選擇Entity Framwork 還是LINQ to SQL,為存儲集合選擇使用Array List還是List,這些問題對開發人員尤其是新手都是很困難的選擇。

.Net Core基於較小的單元NuGet包,這些較小的包容易擺脫框架的束縛。如果是舊的應用程式集合類,就可以通過NuGet包System.Collections.NonGeneric來使用,對於新的應用程式,可以定義新的套裝軟體,從而把前面提到的包排除。

微軟使用.Net Core,還有一個重要的考慮是:如今程式更新快,龐大的.Net Framwork接近2年的更新週期無法滿足市場的需求。而.Net Core基於較小的NuGet包,更新較小的包方便容易快捷,

這就意味著更快的更新速度和創新速度。而且,.Net Core 是開源的,其原始程式碼在github網站上能夠下載。

還一個重要的原因是操作環境的因素。.Net Framwork只在Windows環境下運行,而不在Linux上運行。而.Net Core獨立於平臺,支援Windows、Linux和Mac系統。而用戶端程式可以在iPhone和Android上使用。