近日,微軟在其Windows博客中通過一篇博文詳細解釋了.Net Native,這是用於開發Win10應用商店應用的全新框架,微軟向開發者展示了為何.Net Native更優秀。
從事開發的朋友對托管代碼與本地代碼之間的爭論應該都有見聞。微軟從上個世紀90年代後期開始著手構建.Net開發框架,並於2000年發布了.Net 1.0。該框架的理念是,開發者不需要再為每個應用編寫類似內存管理等基礎操作的代碼,這些職責都可以由“公共語言運行庫(CLR)”來擔任,開發者只需要將注意力集中在更高的層面,實現功能即可。而實際運行效果也非常不錯,關鍵是還能夠減少代碼工作量。不過一直以來性能方面總是被诟病,因為從高級語言代碼到CLR再到最終的CPU指令需要一個轉換過程,這會降低程序運行效率。
現在微軟已經想出了兩全其美的方法,推出了全新編程框架.Net Native。.Net程序員可以繼續使用他們所熟悉的語言和工具,比如C#或Visual Basic以及其他常見的.Net運行庫。與以往不同的是,基於.Net Native編寫的代碼編譯完成之後,運行速度會更快,也不要求用戶在電腦中安裝.Net框架。.Net Native優點:
• 冷啟動性能可提升60%;
• 熱啟動性能可提升40%;
• 本地編譯,應用占用內存會更少;
• 不再依賴桌面.NET運行庫;
• 由於應用是被編譯到本地代碼的,因此能夠得到本地代碼的性能(類比C++程序)
• 你仍然可以使用業內先進的C#或VB編程語言及其配套工具
• 你仍然可以使用.Net編程模型,利用擴展的API編寫業務邏輯、內置內存管理以及異常處理。
由於編譯.Net Native應用需要耗費時間,因此在Visual Studio中微軟加入的新“調試(Debug)模式”,允許開發者可以像編寫傳統.Net應用那樣編寫.Net Native應用,不需要完全編譯為本低代碼即可在Visual Studio中運行。如此便能夠加快開發速度,不過微軟也提醒開發者,在Release模式下測試代碼或者完全編譯到本地代碼在開發過程中同樣非常重要。