1. <s id="4jtld"></s>
    1. <span id="4jtld"><meter id="4jtld"></meter></span>

        <span id="4jtld"></span>
      1. <s id="4jtld"><noscript id="4jtld"><i id="4jtld"></i></noscript></s>
        溫馨提示×

        .net core 全新的微軟跨平臺框架

        發布時間:2020-07-09 11:23:25 來源:網絡 閱讀:2016 作者:CandyAllen 欄目:編程語言

        .net core 全新的微軟跨平臺框架

        什么是.Net Core平臺?

        .Net Core是一個模塊化的,跨平臺的,開源實現的.Net Framework,它可以在Windows設備上運行,也可以在Linux和OS X上運行。不同于傳統的.Net Framework(特點:龐大的,系統級的,是一個只能跑在Windows上的運行時環境),你可以用.Net Core創造以多平臺為目標的組件化的庫和應用程序,并且.Net Core可以與應用程序一起部署。

        .Net Core特性

        讓我們從宏觀上看看.Net Core的特性

        跨平臺支持

        .NET Core 應用程序可以同時跑在32位和64位的Windows平臺上,也可以跑在OS X和Linux上。

        相反的,基于傳統.Net Framework編寫的應用程序只能跑在Windows上。注意的是UWP通用應用程序借助.Net Core的實現,也只能跑在Windows桌面程序,平板和Windows phone手機上。

        開放源代碼

        .Net Core的RunTime(CoreCLR)和基礎類庫都是開放源代碼的,另外.Net Core的源代碼都是免費獲得的,這些意味著:

        • 設計注釋,功能規格,還有特定實現文檔都是公開的

        • .Net Core的代碼評審(Code review)是公開的

        • 您可以通過使用GitHub的提供的功能,將bug公開,對源代碼提出您的建議,而且你可以提交新特性的請求,或者你自己寫的代碼都可以提交。

        • 你也可以下載所有的源代碼在你的機器上編譯。Runtime與基礎類庫,還有一些工具可以在任何平臺上編譯。

        改善的Console App

        傳統的.Net Framework可以在Windows上創建運行創建控制臺apps,.Net Core同樣可以,但是.Net Core改善了控制應用程序:

        • 跨平臺:控制臺程序可以跑在Windows,OS X和Linux

        • 原生編譯:將托管程序的好處與原生C/C++應用程序的性能相結合

        安裝簡單

        因為.Net Core不是一個操作系統的組件,現在安裝:

        • 不需要管理員權限

        • 不需要觸碰系統組件了,也就是說不需要向操作系統的系統目錄和注冊表中寫文件了

        • 復制一些文件到目標計算機更簡單了,或者將原生framework編譯進你的app。

        這樣,新的開發者不到一分鐘就可以入門.Net了,包括下載Framework和tools??梢詮倪@里。

        部署簡單

        作為運維人員,去部署一個開發部門給你的.Net應用程序的時候,你首先要做的就是去服務器檢查.Net framework版本是否符合要求,如果不符合就需要安裝一個能運行這個程序的基礎版本,這些會給運維人員帶來很大的困擾
        相比之下,。Net core有兩種發布部署方式:

        Portable Apps

        在部署一個portable app的時候,你除了.Net Core庫之外,只需要部署你的程序和它的依賴就可以。
        在目標機器上為了將Portable Apps跑起來需要安裝.Net Core。你不需要提前去考慮你的app支持哪個平臺,因為.Net Core就是一個獨立的組件。
        在.Net Core里,Portable Apps是默認的程序類型。

        Self-contained Apps

        Self-contained apps包含了所有的依賴,.Net Core runtime也會作為軟件的一部分.由于你的APP中內置了.Net Core,所以不管你要部署的那臺機器上安裝沒安裝.Net Core都可以運行,而且就算之前的機子上有人安裝了.Net Core,你的.Net Core類庫也是與別人的.Net Core類庫隔離開的。
        這種方式的前提得是你的程序里內置了對應平臺的.Net Core,比如你要在OS X上部署,你的APP里需要內置OS X對應的.Net Core,如果你內置的.Net Core是Linux版本的,那你就不能在OS X上邊部署,這就要求你必須先考慮好,你的應用程序面向的平臺。

        .Net Core組件(Components)

        和傳統的.Net Framework非常像,.Net Core由一個叫CoreCLR的公共語言運行時(Common language runtime)組成。和.Net Framework一樣,.Net Core中關鍵的也是類庫。.Net Core關鍵的是CoreFX,這是一個模塊化的類庫集,而非單一的.Net framework類庫。這樣就可以你的程序需要什么庫就加載什么庫,不需要的不會加載。

        公共語言運行時(The Common Language Runtime)

        .Net Core中的公共語言運行時——CoreCLR是一個輕量級的運行時,提供了好多和傳統.Net Framework的運行時相同的服務。這些相同的服務包含:

        • 一個垃圾回收器,它提供了內存自動管理。垃圾回收器按需分配和釋放內存;你不必通過程序去做這些。不像C++,需要自己去管理操作內存的分配和釋放。.Net Core也用了和.Net Framework相同的垃圾回收器,更多信息請訪問Garbage Collection

        • 一個just-in-time(JIT)編譯器,編譯IL或者.Net中間語言(intermediate language)到機器碼。在某些架構中,JIT編譯器支持SIMD硬件加速。

        • 一個異常處理機制,允許你通過try/catch語句處理異常。

        類庫(The Class Library)

        .Net Core的類庫與.Net Framework的類庫除了有一處主要的不同點之外,其余的非常相似。
        不同在于:
        傳統的.Net Framework有很多類庫是屬于操作系統的一部分,并且它是通過Windows 自帶的Windows update更新。
        在.Net Coe中,它是按照功能組織的模塊的個人庫。

        Microsoft.NetCore.App 被包含在runtime里邊了,它包含了開發所有APP基本的類型,這些類型包括:

        • 基礎類型,比如bool類型,簽名與不簽名的整型,浮點型和char結構

        • String類型:在.Net Core中,一個字符串是UTF-16編碼單元的序列。.Net Core還包括了許多編碼類型,這些編碼類型可以允許你將UTF-16編碼字符串轉換成其他編碼的字節數組,例如:你可以用UTF8Encoding class將.Net Core的string字符串轉換成utf-8編碼的字節數組,用來表示Linux上的string字符串。

        • 任務類型,例如Task和Task,用來支持異步編程。

        • 基本的線程類型

        • Console Class,用來支持開發console apps.

        另外的一些庫,需要通過Nuget包來安裝

        .Net Core工具(.Net Core Tools)

        .Net Core包含了一個跨平臺的命令行SDK,名字叫做.Net Core CLI(Command-Line Interface).這個CLI是編寫.Net Core應用程序的一組對Unix友好的工具。它讓C#編譯器和Nuget包管理工具變得抽象,變得抽象的意思是你感覺不到編譯器和包管理工具的存在,應用程序就編寫好了。他同樣可以與.Net原生工具緊緊集成在一起來產生高性能的原生app和庫。
        CLI帶來的好處是開發者可以不用安裝大型的IDE就可以編譯和測試他們的代碼,這在不是自己的電腦或者生產服務器上是極好的。visual studio code與visual studio在底層都是用的CLI,你可以根據你的需要選擇不同的IDE.比如你可以直接通過文本器來使用CLI,或者你可以用IDE開發,編輯器內部調用CLI.

        大多數情況下,你直接使用.Net Core CLI就是通過給dotnet.exe 提供參數,下邊是dotnet.exe可以使用的命令:

        • dotnet --help:顯示關于.Net Core CLI命令行的信息

        • dotnet new:初始化一個C#項目

        • dotnet new --lang F#:初始化一個F#項目

        • dotnet restore:為你的app還原所有的依賴

        • dotnet build:編寫一個.Net Core app

        • dotnet publish:發布一個portable或者self-contained app。(查看【部署簡單】章節)

        • dotnet run:從源代碼中運行app

        • dotnet pack:在你的app中創建一個Nuget包

          dotnet.exe有擴展模型,允許你添加額外的命令。

        語言支持和開發環境(Language Support and Development Environments)

        .Net Core是語言無關的:任何以.Net Core為目標的語言都是可以用來開發.Net Core應用程序的,通過不同的編程語言開發的app,用其中的一種語言即可無縫地訪問類型與成員。

        當前,你可以用下邊的兩種語言的任意一種開發:

        • C#,基于.NET Compiler Platform,也成為Roslyn

        • F#.

        我們打算在未來支持更多的語言。
        你有多種開發環境可以選擇用來編寫app,包括:

        • 一個簡單的文本編輯器,例如在Windows系統上的Notepad,或者Wordpad

        • 一個程序員的編輯器,例如需要C#擴展的Visual studio Code

        • 一個集成開發,調試,測試的環境,比如 Visual Studio 2015 Update 2

        .NET Core and the .NET Framework

        為了更好的感知.Net Core是什么,將它與.Net framework相比較:

        .Net Core

        包含CoreCLR,一個可提供基礎服務的輕量級運行時(runtime),尤其自動內存管理,垃圾回收器,還有一個基礎的類型庫。

        包含了CoreFx,一套個人模塊化組裝,你可以安裝需要將其添加到你的app中,與.Net Framework 4.x不同,.Net Framework 4.x總是使整個.Net Framework類庫可用,.Net Core只需選擇你想要的。例如,如果你正在開發一款基于矢量的應用,你可以下載System.Numerics.Vectors包,而不是需要一個很大類庫的花銷,這樣可以顯著的減少你app的體積和他的依賴項。

        適用于各種各樣的現代應用程序,對內存和儲存有限制的小型設備起作用

        可以利用若干的技術來開發應用,比如asp.net core
        開發web應用,Windows communication Foundation(WCF)

        開發與現有的WCF服務相關聯的應用,workflow foundation(WF)構建工作流。

        可以變成app本地。換句話說就是.Net Core版本可以緊緊與你的app相結合,這可以減輕好多版本問題。

        .NET Framework 4.x

        包含公共語言運行時(CLR),一個相當大的運行時,可以提供內存管理,隔離應用程序域(application domain),大量的應用程序服務。

        包含了.Net Framework類庫,這個類庫包含了成千上萬個的類與成員,不僅非常大而且又是一個整體,不論你的app用了單個類型或者他們的成員(或者大多數app利用了一小部分函數),他們都是始終加載并且可以隨時訪問的。

        適用于傳統的Windows桌面應用程序,包括Windows forms(winforms)和Windows Presentation Foundation(WPF)應用程序,可以運用許多技術來開發應用程序,例如,ASP.NET和ASP.NET Web Form構建web應用程序,Windows Communication Foundation (WCF)構建包含soap的服務,Workflow Foundation (WF), 構建工作流。

        在一個給定系統中全局可用。換句話說,即使一個app中包含了一個特定版本的.Net Framework安裝器,但是假如安裝器發現它不存在還是會安裝完整的.Net framework,并且會獨立于app維護。這就會產生版本問題,特別地是一個app遭遇了一個沒有預想的版本,或者一個app跑在了之前沒有開發的.Net Framework版本上。
        從Windows8開始,.Net Framework作為操作系統的一個組件安裝,并且通過Windows update升級。對于不同的Windows里邊內置不同的.Net Framework版本,更多的信息請訪問.NET Framework System Requirements.

        總結:

        雖然.Net Framework 4.6.2預覽版和.Net Core是面向不同的平臺,代表著不同的app開發和部署方法,但是他們都遵守 .Net標準1.5。這意外著他們彼此能夠提供一個高度的兼容性與統一行為。尤其:

        • 有經驗的.Net 開發者想要開發不同設備和平臺的應用程序的時候,可以很容易適應.Net Core的開發。

        • .Net Core開發者可以很容易的過渡到用.Net Framework開發Windows桌面程序、平板和手機的方式上。

        • 用.Net Framework或者.Net Core寫的類庫可以很容易的在另外一個平臺工作。

        .Net Core具體實現(implementations)

        許多的開發技術依賴.Net Core的可定制實現。當你用這些技術開發Apps的時候,你也許不會意識你是在利用.Net Core的好處:

        • ASP.Net Core.ASP.Net Core是一個模塊化的asp.Net版本,它結合了ASP.NET MVC and ASP.NET Web API.它可以同時運行在.Net Framework與.Net Core上邊,它被設計用來構建高性能的云和微型服務;在.Net Framework中,它不是打算作為asp.net的替代者的。有關更多的ASP.Net Core信息,請訪問Introduction to ASP.NET Core.

        • .NET Native。對于用C#和Visual Basic編寫的Universal Windows Platform (UWP)應用程序,.NET Native是一個編譯和部署技術。.Net Native將Apps編譯成原生代碼,靜態資源文件放入應用程序集中,這些都是.Net Core和另外一些第三方的正在使用的代碼。有關更多.Net Native的信息請訪問Compiling Apps with .NET Native.

        • Universal Windows Platform (UWP) apps。Universal Windows Platform允許你構建一個運行在Windows桌面,Windows平板設備,Windows phone手機上的app。這些應用可以上傳到Windows store中。UWP 應用程序通過.Net Native為他們各自的平臺編譯原生代碼,有關更多的信息,請訪問 Get started with Windows apps。


          http://www.cnblogs.com/Wahitler/p/5612895.html


        免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

        主題地圖

        欧美午夜理伦三级在线观看,欧美午夜乱伦片,欧美午夜乱色视频在线观看,欧美午夜免费一区二区,欧美午夜片欧美片在线观看