.NET Core 以及與 .NET Framework的關系

      網友投稿 808 2025-03-31

      至2002微軟公司推出.NET平臺已近15年,在互聯網快速迭代的浪潮中,許多語言已被淘汰,同時也有更多新的語言涌現,但 .Net 依然堅挺的站在系統開發平臺的一線陣營中,并且隨著.NET Core 即將到來(2016年6月27日)的正式版,勢必迎來新一輪春天。

      一 .NET 的 Framework 們

      .NET Core 以及與 .NET Framework的關系

      要理解.NET Core就有必要了解之前的.NET平臺的眾多Framework們。2002年微軟公司發布的第一個.NET框架————.NET Framework,不久后又發布了.NET Compact Framework 用于在較小的移動設備(Windows mobile),而.NET Compact Framework 也含有一套 類似.NET Framework 體系(Runtime, Framework,Application Model),它是一個復制精簡版的 .NET Framework。在數年間微軟樂此不疲的推出了數個類似 .NET Framework的框架,以用于在不同的設備和平臺上運行。每個Framework都有類似的體系但又不完全相同的,這樣Framework越來越多,對開發者來說不一樣的設備即便功能相同也需要維護多套代碼,增加了開發的復雜度。

      .net 的框架

      二 .NET Core的到來

      微軟對這些問題的重新思考和改進讓.NET Core橫空出世。

      .NET Core是一個開源的模塊化的Framework,不管是開發web或移動設備都在同一個Framework(.NET Core)下運行,而且 .NET Core也可在不同的操作系統上運行,包括Windows、linux、MacOS,實現了跨平臺跨設備。

      更棒的是.NET Core 在發布程序時不用事先安裝Framework而是通過Nuget下載,這樣在初次部署時就不用安裝一個復雜而龐大Framework,而是按需下載。這種基于Nuget的按需加載鑄就了.NET Core 跨平臺。

      core

      .NET Core 構成體系如下:

      Runtime

      在.NET Core 中有實現兩種RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 將C# 或 VB.net 代碼直接轉換為原生機器碼。而CoreCLR是一個開源的JIT運行時,會將代碼編譯成中間語言(IL)在最終運行時再轉換機器碼。

      2. Unified BCL

      Base Classlibrary即基礎類,例如 FileSystem、Console、XML操作等。

      3. Windows Store AppModel & ASP.NET Core 1.0

      提供開發Windows系統的各種觸屏設備和ASP.NET程序的一組基礎庫。

      三 .NET Core 與 .NET 其他Framework的關系

      圖譜

      version

      1 .NET Core & .NET Framework

      .NET Core & .NET Framework 都是 NET Standard Library 的實現,一種是跨平臺,而另一種是Windows下特有的,除實現NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的實現。.NET Standard Library 是跨操作系統的關鍵所在,它定義了一組接口,而每個操作系統有各自的實現,.NET Core通過nuget可以動態下載當前操作系統的實現,從而實現跨操作系統(暨跨操作系統共享代碼)。

      .NET Core 更依賴于Nuget,允許本地application在部署時動態下載需要的class library。而.NET Framework需要在系統中預裝。這樣.NET Core的部署比.NET Framework 更簡單快速同樣也更輕便。

      2 .NET Core & ASP.NET

      ASP.NET

      從上圖可以看到 ASP.NET Core 有兩種形態的存在:

      ASP.NET Core Web Application(.NET Core)

      依賴于.NET Core的ASP.NET 只可以調用.NET Core的API,可以在多個操作系統上運行。(可見下圖下半部分的Reference Manager,在assemblies中沒有.NET Framework 中的庫)

      ASP.NET Core Web Application(.NET Framework)

      依賴于.NET Core & .NET Framework 的ASP.NET 可以調用.NET Core&.NET Framework的API ,只可以在Windows下運行。(可見下圖上半部分的Reference Manager,在assemblies中含有所有.NET Framework 中的庫)

      compare

      3 .NET Core & Mono

      Mono是.NET Framework的開源版本的實現,在某些特性上和.NET Core 很類似比如開源,跨操作系統。目前.NET CORE 會從Mono上吸取經驗,發展壯大最終可以更好的在除Windows外的其他操作系統上運行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。

      總結

      微軟CEO薩提亞·納德拉睿智的決定拋棄以PC為中心,擁抱各種設備和平臺,成為一家軟件服務型企業。為了達成這種愿景必須構建新的微軟生態鏈,囊括Windows,Linux,OS X及其他操作系統,覆蓋X86/ARM等處理器以及不同的設備(包括PC,Phone,全息眼鏡及其他)。這些足見微軟的“野心”。隨著.NET Core 正式發布大戰略邁出堅實的一步,6月27日讓我們拭目以待吧。

      .NET Windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:作業表單填寫規范化
      下一篇:密信技術亮相英國2019網絡安全與數據保護峰會
      相關文章
      久久亚洲综合色一区二区三区 | 亚洲国产成人精品无码久久久久久综合 | 亚洲精品国产精品乱码不卡√| 亚洲最新中文字幕| 亚洲精品成a人在线观看夫| 亚洲精品二区国产综合野狼| 亚洲午夜无码片在线观看影院猛 | 91情国产l精品国产亚洲区| 国产AV无码专区亚洲AV琪琪| 亚洲天堂中文字幕在线观看| 亚洲精品国产福利片| 丝袜熟女国偷自产中文字幕亚洲| 亚洲 欧洲 自拍 另类 校园| 久久亚洲国产午夜精品理论片| 亚洲无线观看国产精品| 国产成人亚洲精品无码AV大片| 亚洲av无码av在线播放| 亚洲伊人色一综合网| 亚洲男人第一av网站| 亚洲无码精品浪潮| 亚洲人成人网站在线观看| 亚洲精品国精品久久99热| 亚洲字幕AV一区二区三区四区| 亚洲国产精品久久久久网站| 亚洲一区综合在线播放| 亚洲第一AAAAA片| 亚洲av中文无码乱人伦在线r▽| 亚洲精品WWW久久久久久| 亚洲熟伦熟女新五十路熟妇| 久久精品国产亚洲7777| 亚洲首页在线观看| 亚洲欧洲国产经精品香蕉网| 亚洲国产综合人成综合网站00| 亚洲日本人成中文字幕| 亚洲A∨无码一区二区三区| 亚洲精品无码高潮喷水在线| 亚洲AV无码乱码在线观看裸奔| 亚洲一区精品中文字幕| 亚洲国产成人精品电影| 亚洲另类自拍丝袜第五页| 亚洲成AV人片久久|