日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

一文看懂.NET的各种变体

發布時間:2025/7/14 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文看懂.NET的各种变体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
\

關鍵要點

\\
  • 不同平臺的.NET開發者已經有了通用的開發工具:VS Code、Mac版Visual Studio和Windows版Visual Studio。\\t
  • .NET Standard為開發者提供了特定.NET平臺的API指南。\\t
  • .NET Core開發者可以選擇macOS、Linux、Windows或三種兼而有之。\\t
  • .NET Core是開源的,由微軟公開開發。\\t
  • .NET Framework仍然是微軟在背后支持,主要面向專門針對Windows平臺開發的開發者。\
\\

曾幾何時,我們只有一個.NET,叫作.NET Framework。如果想要開發.NET應用程序,只要使用.NET Framework即可,非常簡單。幾年之后,出現了.NET變種的寒武紀大爆發(我們稱之為“.NET大爆炸”):.NET Framework Client Profile、.NET Compact Framework、.NET Micro Framework、Windows Runtime、Universal Windows Platform、Mono、Xamarin、.NET Core和.NET Standard。就像來自寒武紀大爆發的有機體一樣,.NET的很多變種最終都已經滅絕:它們不再被支持或不再被更新。有些變種只有一點點的立足之地,被用在非常專業化的領域。還有一些變種(“.NET幸存者”)蓬勃發展,目前正在發展壯大,因為一些特定的原因和用途。本文的目標不是要深入到各種.NET的技術細節中,關于技術細節已經有大量的技術資源可參考。相反,本文的目的是澄清一個簡單的問題:在特定情況下應該使用哪種.NET?

\\

.NET Framework

\\

.NET Framework是最初的.NET實現,其他所有.NET都來自它。無論是支持的API數量還是下載量,它都是.NET中最大的一個。多年來,.NET Framework發布了很多版本,每個版本都增加了新的API和功能。.NET Framework由微軟開發和支持,并且只能在Windows上運行。

\\

如果你的應用程序只在Windows上運行,那么就應該使用.NET Framework。由于它支持的API數量最多,因此如果選擇了.NET Framework,就無需擔心是否可以輕松完成一些復雜的任務。不過,如果你希望應用程序從一開始就在Windows以外的平臺上運行,或者希望將來在非Windows平臺上運行應用程序,那么就要考慮使用不同的.NET類型。

\\

Mono

\\

Mono是.NET的一個開放源代碼實現,旨在與.NET Framework兼容,但可以在不同的平臺上運行,包括Windows、MacOS和Linux。該項目由愛好者創建,并由Miguel de Icaza領導,他相信.NET的優勢也應該被移植到除Windows之外的平臺上,而實現這一目標的最佳方式就是開源。Mono的管理權隨著de Icaza從一家公司遷移到另一家公司:從Ximian到Novell,再到Xamarin,最后到了微軟。

\\

Mono覆蓋到的.NET API并不完整,但已經很好了。從.NET Framework移植到Mono非常簡單,即使是在API覆蓋不到位的情況下,也有相對簡單的解決方法。

\\

Mono仍然是跨平臺.NET的可行之選,盡管微軟似乎將大部分跨平臺.NET工作轉移到了.NET Core中。所以如果你對.NET的未來有所期待,應該要考慮到這一點。此外,Xamarin/微軟現在似乎將他們Mono的大部分工作集中在Xamarin平臺和支持iOS和Android上,盡管Mono對桌面和服務器平臺的支持似乎也很活躍。總之,如果你有一個運行在Windows上的.NET Framework應用程序,并且希望你的應用程序支持Windows、macOS、Linux、BSD等平臺,但只想花費很少的精力來轉換你的應用程序,那么Mono可能是你最好的選擇。

\\

.NET Core

\\

.NET Core是另一個開源的跨平臺.NET實現,由微軟領銜。它支持Windows、MacOS和Linux。最初,.NET Core是一個輕量級的實現:強大到足以支持ASP.NET和控制臺應用程序,但又不會太過。后來,它擴展到可以支持Windows、macOS和Linux上的API子集,但不支持Windows特有的注冊表等東西。在這一點上,API的覆蓋范圍似乎已經進一步擴大了,所以它幾乎就像.NET Framework的翻版,盡可能完整地支持多個平臺,同時避免支持微軟似乎不再需要的API(如.NET Remoting)。像Windows Forms和WPF這樣的UI API也不受支持(微軟已經宣布下一個版本的.NET Core將支持桌面應用程序編程,包括Windows Forms和WPF,但這只適用于Windows上運行應用程序)。

\\

由于.NET Core似乎是跨平臺.NET的未來,如果你正在開發在Windows、MacOS或Linux上運行的應用程序,而且不是非Web界面(Windows Forms和WPF不可用),那么我建議使用.NET Core。它可能沒有.NET Framework那么多的API,但如果你從頭開始開發應用程序,則可以考慮使用這種占用較小空間的API。但是,如果你想讓現有的.NET Framework支持跨平臺,遷移到.NET Core可能會是一個沉重的負擔,因為它可能不支持一些關鍵API。請注意,微軟試圖通過Windows兼容包等產品來緩解這種情況,Windows兼容包為.NET Core中的Windows特定API提供支持。但是,如果你使用了這些API,則仍然被鎖定在Windows中,至少在.NET Core提供這些API之前是這樣的,或者可以通過重寫代碼移除對它們的依賴。

\\

.NET Standard

\\

.NET Standard是另一個支持跨平臺的.NET變種。與.NET Framework、Mono和.NET Core不同,它不是一個包含運行時和庫的完整軟件包。相反,它是一個API規范,.NET的實現需要基于這一規范——特別是.NET Framework、.NET Core和Xamarin(微軟支持的面向iOS、Android和macOS的Mono分支)。目的是讓基于.NET Standard實現的庫可以在任意.NET平臺應用程序中運行。.NET Standard僅支持庫,而不是應用程序,所以可以用它開發可在任何地方運行的庫。

\\

最新版本的.NET Standard 2.0覆蓋了更廣的API,但仍有大量缺失。它幾乎涵蓋了.NET Core,但缺失了相當數量的.NET Framework API。當然,你沒有理由非要使用那些缺少的API,但如果你選擇了.NET Framework,而不是.NET Standard,那么在移除那些API依賴之前,你會鎖定在.NET Framework上。

\\

如果你正在開發一組新庫,我會建議你選擇.NET Standard。這樣,你的庫就可以運行在.NET Framework、.NET Core或Xamarin上,而不需要做額外的工作。當然,你一定會創建針對特定.NET變體的應用程序,但如果應用程序足夠小,而且包含.NET Standard不支持的GUI類,并且將大部分功能都放在共享庫中,那么應該能夠最大程度地獲得跨平臺好處。由于缺乏某些API,遷移現有的.NET Framework代碼可能會涉及更多工作,但即使是這樣,仍然可以將盡可能多的代碼遷移到.NET Standard庫,并隔離平臺特定代碼。在跨平臺場景中可能會用到你的.NET Standard庫,并且隨著時間的推移,你可以花費額外的精力將其余代碼遷移到.NET Standard。

\\

關于工具的簡要說明

\\

一直以來,每個.NET變體都有自己的專用開發工具。Visual Studio用于.NET Framework開發,MonoDevelop用于Mono開發,Visual Studio Code主要用于.NET Core開發。到了最近,這些界限開始漸漸模糊。除.NET Framework之外,現在可以使用Visual Studio開發Xamarin、.NET Core和.NET Standard。Visual Studio Code最初是一個源代碼編輯器,但現在已經成為一個更加完整的開發環境,可用于開發.NET Framework或.NET Core。Xamarin Studio(基于MonoDevelop)已被Windows(他們推薦使用Visual Studio)棄用,現在變成Visual Studio for Mac,可用于開發Xamarin或.NET Core。因此,除非你正在開發.NET Framework(在這種情況下應該使用Visual Studio),否則可以根據其他需求選擇合適的環境。

\\

結論

\\

.NET“大爆炸”產生了很多.NET變體,其中一些已經消亡,其他一些則占據了非常狹小的市場空間,另一些正在蓬勃發展。蓬勃發展的.NET變種之間的相似性足以讓開發者感到困惑,并且不確定要使用哪一個,但其實在它們之間做出選擇很簡單。如果你要創建一個只能在Windows上運行的應用程序,請使用原始的.NET Framework。如果你希望應用程序能夠在多個平臺上運行,并且需要接近完整的.NET Framework API,請使用Mono。如果將現有的.NET Framework應用程序遷移到Windows以外的其他平臺,Mono也是一個很好的選擇。如果你創建的跨平臺應用程序可以使用.NET Core提供的不完整API,那么可以考慮.NET Core。最后,可以考慮使用.NET Standard創建可在.NET Framework、.NET Core或Xamarin上運行的庫,并在面向特定平臺的組件中隔離面向特定平臺的部分,例如用戶界面。

\\

關于作者

\\

Dr. Wayne Citrin?博士是JNBridge有限責任公司的首席技術官兼聯合創始人,JNBridge有限責任公司是領先的Java和.NET互操作工具供應商。他是屢獲殊榮的橋接技術JNBridgePro和適用于.NET和BizTalk的JMS Adapters架構師,Citrin自.NET推出測試版本以來一直在解決Java和.NET的互操作性問題。Citrin曾擔任編程語言和編譯器方面的研究員,并在科羅拉多大學博爾德分校擔任計算機工程系教授。

\\

查看英文原文:Understanding the Varieties of .NET

總結

以上是生活随笔為你收集整理的一文看懂.NET的各种变体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。