<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          還不知道.NET 5 這些超強(qiáng)優(yōu)勢(shì)?

          共 2815字,需瀏覽 6分鐘

           ·

          2021-07-05 12:08


          支持所有 .NET 應(yīng)用程序類型


          .NET5 統(tǒng)一版本之后將支持所有 .NET 應(yīng)用程序類型:Xamarin、ASP.NET、IoT 和桌面。此外,它將利用一個(gè)單獨(dú)的 CoreFX/基類庫(kù) (BCL)、兩個(gè)獨(dú)立的運(yùn)行時(shí)和運(yùn)行時(shí)代碼庫(kù)(因?yàn)楹茈y將兩個(gè)截然不同的運(yùn)行時(shí)單獨(dú)作為源)和一個(gè)工具鏈(比如 dotnet CLI)。結(jié)果將是行為、API 和開(kāi)發(fā)人員體驗(yàn)之間的一致性。例如,在每個(gè)不同平臺(tái)上將運(yùn)行一組庫(kù),而不是三個(gè) System.* API 實(shí)現(xiàn)。



          將框架、運(yùn)行時(shí)和開(kāi)發(fā)人員工具集統(tǒng)一到一個(gè)代碼庫(kù)中


          .NET 的統(tǒng)一有很多優(yōu)點(diǎn)。將框架、運(yùn)行時(shí)和開(kāi)發(fā)人員工具集統(tǒng)一到一個(gè)代碼庫(kù)中,將減少開(kāi)發(fā)人員(Microsoft 和社區(qū))需要維護(hù)和擴(kuò)展的重復(fù)代碼量。此外,正如我們最近對(duì) Microsoft 的期許,所有 .NET 5 源代碼都將是開(kāi)放源代碼。

          合并后,所有平臺(tái)都可以使用每個(gè)單獨(dú)框架獨(dú)有的許多功能。例如,這些平臺(tái)的 csproj 類型將統(tǒng)一為深受歡迎的、簡(jiǎn)單的 .NET Core csproj 文件格式。因此,.NET Framework 項(xiàng)目類型將能夠利用 .NET Core csproj 文件格式。雖然 Xamarin 和 .NET Framework(包括 WPF 和 Windows 窗體)csproj 文件需要轉(zhuǎn)換為 .NET Core csproj 文件格式,但該任務(wù)類似于從 ASP.NET 轉(zhuǎn)換為 ASP.NET Core。幸運(yùn)的是,得益于諸如 ConvertProjectToNETCore3 之類的工具,現(xiàn)在實(shí)現(xiàn)起來(lái)更加容易(請(qǐng)參閱 bit.ly/2W5Lk3D)。

          支持JIT與AOT兩種編譯模式

          另一個(gè)顯著差異是 Xamarin 和 .NET Core/.NET Framework 的運(yùn)行時(shí)行為。前者使用靜態(tài)編譯模型,使用提前 (AOT) 編譯將源代碼編譯為平臺(tái)的本機(jī)源代碼。而 .NET Core 和 .NET Framework 使用即時(shí) (JIT) 編譯。幸運(yùn)的是,在 .NET 5 中,JIT和AOT這兩種模型都將受支持,具體取決于項(xiàng)目類型目標(biāo)。例如,可以選擇將 .NET5 項(xiàng)目編譯為單個(gè)可執(zhí)行文件,該文件將在運(yùn)行時(shí)使用 JIT 編譯器 (jitter),或使用本機(jī)編譯器在 iOS 或 Android 平臺(tái)上工作。大多數(shù)項(xiàng)目都會(huì)利用 JIT,但對(duì)于 iOS 來(lái)說(shuō),所有代碼都是 AOT。對(duì)于客戶端 Blazor,運(yùn)行時(shí)是 Web 程序集 (WASM),Microsoft 打算 AOT 編譯少量托管代碼(大約 100 kb 到 300 kb),而其余代碼將被解釋。(AOT 代碼很大,因此網(wǎng)絡(luò)成本是一個(gè)相當(dāng)大的負(fù)擔(dān)。)

          創(chuàng)建單個(gè)可執(zhí)行文件

          在 .NET Core 3.0 中,可以編譯到單個(gè)可執(zhí)行文件,但該可執(zhí)行文件實(shí)際上是運(yùn)行時(shí)所需執(zhí)行的所有文件的壓縮版本。在執(zhí)行該文件時(shí),它首先將自己展開(kāi)到一個(gè)臨時(shí)目錄中,然后從包含所有文件的目錄中執(zhí)行應(yīng)用程序的入口點(diǎn)。相反,.NET 5 將創(chuàng)建一個(gè)實(shí)實(shí)在在的、可直接就地執(zhí)行的單個(gè)可執(zhí)行文件。

          互操作性

          .NET 5 的另一個(gè)顯著特性是與 Java 和 Objective-C(包括 Swift)中源代碼的互操作性。自早期版本以來(lái),這一直是 Xamarin 的一個(gè)特性,但將擴(kuò)展到所有 .NET5 項(xiàng)目。例如,你將能夠在 csproj 文件中包含 jar 文件,并且能夠直接從 .NET 代碼調(diào)用 Java 或 Objective-C 代碼。(遺憾的是,對(duì) Objective-C 的支持可能會(huì)比 Java 晚)。需要注意的是,.NET5 和 Java/Objective-C 之間的互操作性只針對(duì)進(jìn)程內(nèi)通信。與同一臺(tái)計(jì)算機(jī)上的其他進(jìn)程甚至不同計(jì)算機(jī)上的進(jìn)程的分布式通信可能需要序列化為基于 REST- 或 RPC- 的分布式調(diào)用。

          容器支持的優(yōu)勢(shì)

          新的互聯(lián)網(wǎng)技術(shù)時(shí)代已經(jīng)來(lái)臨了,容器、Kubernetes、DevOps、微服務(wù)、云原生才是技術(shù)前進(jìn)的方向,其中容器技術(shù)屬于基石。從.NET Core 誕生直到.NET5,都能持續(xù)看到平臺(tái)對(duì)容器技術(shù)的官方支持和適配改進(jìn),里面還強(qiáng)調(diào)了有著更小的容器鏡像。.NET5+Docker容器化后還有其他語(yǔ)言無(wú)可比擬的優(yōu)勢(shì)!


          1、體積更小

          .NET5的鏡像體積都很小,alpine的鏡像更小,帶上應(yīng)用程序也才80M,對(duì)于微服務(wù)分布式架構(gòu)而言,更小的體積意味著更少的下載帶寬,更快的分發(fā)下載速度。

          2、占用資源更少

          .NET5的CLR+默認(rèn)http://ASP.NET Core框架頁(yè)面啟動(dòng)后,僅需22M內(nèi)存,同比Java8已經(jīng)需要120M了,運(yùn)行時(shí)資源占用也更低,意味著更高的部署密度和更低的計(jì)算成本。

          3、啟動(dòng)速度更快

          .NET5的 CLR啟動(dòng)速度非???,而啟動(dòng)速度就意味著交付效率和回滾效率,在動(dòng)輒數(shù)百個(gè)副本微服務(wù)時(shí),啟動(dòng)速度就是個(gè)非常重要的特性。

          4、容器感知,低配運(yùn)行

          .NET5 默認(rèn)更好的支持Docker資源限制,官方團(tuán)隊(duì)也在努力讓.NET5成為真正的容器運(yùn)行時(shí),使其在低內(nèi)存環(huán)境中具有容器感知功能并高效運(yùn)行,遠(yuǎn)超其他平臺(tái)。

          云原生支持的優(yōu)勢(shì)

          .NET團(tuán)隊(duì)一直將重點(diǎn)放在.NET5領(lǐng)域,并引入了新的改進(jìn)和功能:

          • REST API 可以更簡(jiǎn)單地構(gòu)建測(cè)試,并將其發(fā)布到諸如Azure API管理之類的應(yīng)用程序中。此外,還可以在默認(rèn)情況下由OpenAPI生成客戶端。
          • gRPC gRPC可以構(gòu)建與WCF類似的高性能基于合約的API。
          • 較小,更快的微服務(wù) .NET團(tuán)隊(duì)在.NET5中完成的一件很酷的事情是,您可以選擇一個(gè)ASP .NET項(xiàng)目,然后選擇要發(fā)布的項(xiàng)目,這將生成一個(gè)20m的小型自包含應(yīng)用程序,完全不需要在計(jì)算機(jī)上運(yùn)行.NET。
          • 使用WSL和Linux進(jìn)行跨平臺(tái)開(kāi)發(fā)
          • 高性能反向代理(YARP)

          轉(zhuǎn)自:張傳寧

          鏈接:cnblogs.com/SavionZhang/p/14805610.html

          回復(fù) 【關(guān)閉】學(xué)關(guān)
          回復(fù) 【實(shí)戰(zhàn)】獲取20套實(shí)戰(zhàn)源碼
          回復(fù) 【被刪】學(xué)個(gè)
          回復(fù) 【訪客】學(xué)
          回復(fù) 【小程序】學(xué)獲取15套【入門+實(shí)戰(zhàn)+賺錢】小程序源碼
          回復(fù) 【python】學(xué)微獲取全套0基礎(chǔ)Python知識(shí)手冊(cè)
          回復(fù) 【2019】獲取2019 .NET 開(kāi)發(fā)者峰會(huì)資料PPT
          回復(fù) 【加群】加入dotnet微信交流群

          去TM收費(fèi),我要在線 Vip 視頻解析!


          又來(lái)一個(gè)Windows神器!


          瀏覽 67
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲第一精品在线观看 | 麻豆国产精品一区 | 99操逼网 | 97影院午夜 | 一本大道久久无码精品一区二区三区 |