[轉(zhuǎn)帖]什么是.NET?什么是.NET Core?.NET和.NET Core區(qū)別又是什么呢?
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
概述 對于.NET平臺的初學(xué)者來說,有時候比較困惑“什么是.NET?什么是.NET Core?.NET和.NET Core區(qū)別又是什么呢?”。確實,目前微軟的開發(fā)平臺有兩種不同的.NET運(yùn)行時環(huán)境,一種是.NET Framework,另一種則是.NET Core(.NET 5),不同的目標(biāo)框架運(yùn)行時環(huán)境不同。 那這兩者的區(qū)別到底是什么,在開發(fā)時如何選擇不同的.NET框架呢?本文將為.NET開發(fā)者逐一講解。 在談及.NET與.NET Core的區(qū)別之前,我們得先聊聊.NET的歷史,了解一下為什么會有.NET Core? .NET Framework簡介 在.NET Core出現(xiàn)之前,微軟的應(yīng)用開發(fā)主要運(yùn)行載體是自家的操作系統(tǒng),即Windows操作系統(tǒng)。 2002年時,微軟發(fā)布了.NET框架的早期版本,當(dāng)前只有一個框架,即.NET Framework。不久之后,微軟又發(fā)布了.NET 精簡版框架(.NET Compact Framework),這是.NET框架的一個子集,適用于更小的設(shè)備,特別是Windows移動設(shè)備(Windows Mobile)。這個精簡版的框架是一個獨立于.NET框架的代碼庫。它包括了整個運(yùn)行時的垂直結(jié)構(gòu):運(yùn)行時、框架和頂部的應(yīng)用程序模型。 .NET Framework是微軟為開發(fā)應(yīng)用程序而創(chuàng)建的主要運(yùn)行在Windows操作系統(tǒng)的軟件框架。它包含了大量的FCL(Framework Class Library)框架類庫并且提供了多種語言之間的跨語言互操作。.NET Framework平臺的應(yīng)用程序在公共語言運(yùn)行時(CLR)中執(zhí)行,CLR是一個應(yīng)用程序的虛擬機(jī),它提供安全、內(nèi)存管理和異常處理等服務(wù)。因此,使用.NET Framework編寫的計算機(jī)代碼稱為“托管代碼”。框架類庫(FCL)和公共語言運(yùn)行時(CLR)一起構(gòu)成了.NET Framework。 .NET跨平臺–.NET Core 早期(.NET Core之前)的.NET應(yīng)用程序是不跨平臺(操作系統(tǒng)的),它只能運(yùn)行在Windows操作系統(tǒng)上,并且操作系統(tǒng)中還必須安裝.NET Framework環(huán)境。如果要運(yùn)行在其他操作系統(tǒng)上,需要借助第三方的框架,比如: Mono—一個開源的第三方.NET Framework框架,它可以運(yùn)行在Linux和Mac OS操作系統(tǒng)上。 2011年5月,Mono開發(fā)者為了使用C#開發(fā)跨平臺的移動設(shè)備應(yīng)用,成立并發(fā)布了Xamarin后于2016年被微軟收購,但這只是微軟跨平臺的第一步,畢竟Xamarin只適合開發(fā)移動端應(yīng)用。 隨意移動設(shè)備迅速占領(lǐng)市場,Windows平臺的大勢已去。直到.NET Core,.NET才算真正的跨平臺,這也是微軟重大的戰(zhàn)略轉(zhuǎn)變。2014年12月,微軟擁抱開源社區(qū),宣布開源了.NET Core的核心代碼,也是.NET跨平臺邁出的最重要的一步。 經(jīng)過不斷地迭代,2016年6月發(fā)布和.NET Core 1.0,2017年3月發(fā)布.NET Core1.1.1。 .NET Core是一種模塊化實現(xiàn),可用于各種垂直領(lǐng)域,從數(shù)據(jù)中心擴(kuò)展到基于觸摸的設(shè)備,它是開源的,跨平臺的,能在Windows、LinuxMac OSX等操作系統(tǒng)上運(yùn)行,同時還支持Docker等容器化環(huán)境安裝和部署。 .NET 5 微軟為了統(tǒng)一.NET平臺,計劃將所有的.NET運(yùn)行時統(tǒng)一為一個.NET平臺,并為所有應(yīng)用程序模型(如:.NET Core, Windows Forms, WPF, UWP, Xamarin, Blazor)提供統(tǒng)一的基類庫(BCL)。在2019年5月6日宣布了.NET 5將是.NET Core 3.0的下一個主要版本。 2020年3月,微軟發(fā)布了.NET 5的第一個預(yù)覽版,并在同年的11月10日發(fā)布了.NET 5的第一個正式版。 .NET生態(tài) 以下是一張如今.NET平臺的生態(tài)示意圖: 從上面的圖表中可以看出,.NET生態(tài)系統(tǒng)有三個主要的高級組件——.NET Framework、.NET Core和Xamarin組成。 .NET Framework:支持Windows和Web應(yīng)用程序?,F(xiàn)在,你仍然可以使.NET Framework作為目標(biāo)框架來構(gòu)建運(yùn)行于Windows操作系統(tǒng)的Winform、WPF和UWP等桌面應(yīng)用程序,以及基于ASP.NET MVC的Web應(yīng)用程序。 .NET Core:是一個新的、開源的、跨平臺框架,它用于構(gòu)建適用于跨操作系統(tǒng)的應(yīng)用程序,包括Windows、Mac和Linux。結(jié)合C#,它的應(yīng)用場景也相當(dāng)廣泛,比如:
結(jié)論 俗語說:“長江后浪推前浪。”,技術(shù)領(lǐng)域也是如此。隨著開發(fā)技術(shù)的不斷發(fā)展和進(jìn)步,新技術(shù)終將代替老技術(shù)。 如果你是一位.NET的初學(xué)者,并者沒有歷史項目(基于.NET Framework框架的項目)的包袱,建議你可以直接從.NET Core(.NET 5)入手學(xué)習(xí),因為它具備現(xiàn)代開發(fā)技術(shù)的絕大多數(shù)優(yōu)點:開源,跨平臺,支持容器化部署等。 ———————————————— 原文鏈接:https://blog.csdn.net/lampo1024/article/details/122304511 該文章在 2023/5/26 15:48:11 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |