微軟從上個(gè)世紀(jì)90年代后期開(kāi)始著手構(gòu)建.Net開(kāi)發(fā)框架,并于2000年發(fā)布了.Net 1.0。該框架的理念是,開(kāi)發(fā)者不需要再為每個(gè)應(yīng)用編寫(xiě)類(lèi)似內(nèi)存管理等基礎(chǔ)操作的代碼,這些職責(zé)都可以由“公共語(yǔ)言運(yùn)行庫(kù)(CLR)”來(lái)?yè)?dān)任,開(kāi)發(fā)者只需要將注意力集中在更高的層面,實(shí)現(xiàn)功能即可。而實(shí)際運(yùn)行效果也非常不錯(cuò),關(guān)鍵是還能夠減少代碼工作量。
不過(guò)一直以來(lái)性能方面總是被詬病,因?yàn)閺母呒?jí)語(yǔ)言代碼到CLR再到最終的CPU指令需要一個(gè)轉(zhuǎn)換過(guò)程,這會(huì)降低程序運(yùn)行效率。
現(xiàn)在微軟已經(jīng)想出了兩全其美的方法,推出了全新編程框架.Net Native。.Net程序員可以繼續(xù)使用他們所熟悉的語(yǔ)言和工具,比如C#或Visual Basic以及其他常見(jiàn)的.Net運(yùn)行庫(kù)。與以往不同的是,基于.Net Native編寫(xiě)的代碼編譯完成之后,運(yùn)行速度會(huì)更快,也不要求用戶在電腦中安裝.Net框架。
.Net Native優(yōu)點(diǎn):
• 冷啟動(dòng)性能可提升60%;
• 熱啟動(dòng)性能可提升40%;
• 本地編譯,應(yīng)用占用內(nèi)存會(huì)更少;
• 不再依賴桌面.NET運(yùn)行庫(kù);
• 由于應(yīng)用是被編譯到本地代碼的,因此能夠得到本地代碼的性能(類(lèi)比C++程序)
• 你仍然可以使用業(yè)內(nèi)先進(jìn)的C#或VB編程語(yǔ)言及其配套工具
• 你仍然可以使用.Net編程模型,利用擴(kuò)展的API編寫(xiě)業(yè)務(wù)邏輯、內(nèi)置內(nèi)存管理以及異常處理。
由于編譯.Net Native應(yīng)用需要耗費(fèi)時(shí)間,因此在Visual Studio中微軟加入的新“調(diào)試(Debug)模式”,允許開(kāi)發(fā)者可以像編寫(xiě)傳統(tǒng).Net應(yīng)用那樣編寫(xiě).Net Native應(yīng)用,不需要完全編譯為本低代碼即可在Visual Studio中運(yùn)行。如此便能夠加快開(kāi)發(fā)速度,不過(guò)微軟也提醒開(kāi)發(fā)者,在Release模式下測(cè)試代碼或者完全編譯到本地代碼在開(kāi)發(fā)過(guò)程中同樣非常重要。
微軟通用應(yīng)用,即能夠在桌面PC、平板、手機(jī)以及Xbox等Windows10設(shè)備中運(yùn)行的通用應(yīng)用都是基于.Net Native編寫(xiě)的。對(duì)開(kāi)發(fā)者來(lái)說(shuō),.Net Native是熟悉但又更快的編程框架;對(duì)最終用戶來(lái)說(shuō),不需要再安裝.Net框架即可使用UWP通用應(yīng)用。應(yīng)用也將更加輕便,且運(yùn)行速度更快(相比.Net應(yīng)用)。
如果你想了解更多,可點(diǎn)此參考微軟官方頁(yè)面。(via: WinBeta)