Windows 10 May 2020(20H1/Version 2004)功能更新中,微軟引入了托管應用模型(Hosted App Model)。該技術可以為微軟和終端用戶解決各種各樣的問題。
在該模型中,應用程序可以聲明自己是其他應用程序的主機,同時允許這些應用程序保留其作為獨立應用程序的身份。例如,一個需要主機的腳本文件(Powershell 或 Python)可以被 Windows10 視為一個完整的應用程序,擁有自己的圖標,在任務管理器和任務切換器中查看條目,并能夠使用標準的 Windows 10 方法安裝和卸載 "應用程序"。
要實現這一點,主機只需要在其 manifest 中聲明具備該能力就可以了。同樣,一個托管應用也需要聲明其對主機的依賴性,然后由主機負責執行該應用。到目前為止,我們主要看到該功能被用于 Progressive Web Apps,其中主機是 Chrome 瀏覽器,但 Windows 越來越多地將這些應用程序視為普通應用程序。
在最新的 Your Phone 應用更新中,我們已經看到了“托管應用”的巨大潛力。Your Phone 可以作為一個主機,然后創建 Hosted Apps(托管應用)直接將手機端投屏到 PC 端,并且能夠固定到任務欄或者開始菜單中。該功能成功地模糊了設備上的應用程序和從云端運行的應用程序之間的界限。
外媒聽到的消息是,微軟可能會利用這項功能在 Windows 10X 上安全地運行 Win32 應用程序,或者通過云端向終端用戶提供企業應用。我們暢享在不遠的將來,通過 Your Phone 類似的應用程序,微軟可以利用云服務器向 Windows 平板分發 Android 應用程序,而不需要讓你的手機連接到相同的網絡中。
IT之家訊 近日,微軟在其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模式下測試代碼或者完全編譯到本地代碼在開發過程中同樣非常重要。
微軟通用應用,即能夠在桌面PC、平板、手機以及Xbox等Windows10設備中運行的通用應用都是基于.Net Native編寫的。對開發者來說,.Net Native是熟悉但又更快的編程框架;對最終用戶來說,不需要再安裝.Net框架即可使用UWP通用應用。應用也將更加輕便,且運行速度更快(相比.Net應用)。
如果你想了解更多,可點此參考微軟官方頁面。(via:WinBeta)