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