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