我們正在開發使用C#和Xamarin的跨平臺應用程序。我們更感興趣的是使用完整的基於Microsoft的解決方案來開發我們的通用應用程序。 .NET Native可以解決這個問題嗎?我們可以使用.Net Native作爲開發Universal C#應用程序的替代方案嗎?
謝謝,拉維
我們正在開發使用C#和Xamarin的跨平臺應用程序。我們更感興趣的是使用完整的基於Microsoft的解決方案來開發我們的通用應用程序。 .NET Native可以解決這個問題嗎?我們可以使用.Net Native作爲開發Universal C#應用程序的替代方案嗎?
謝謝,拉維
你在這裏有一些困惑。
.Net Native是爲了生成一個在目標真機上可以本機執行的文件 - 例如Intel CPU。構成該可執行文件中的.Net VM的所有位都打包並本地編譯。
然而,所有得到您的是運行本機機器碼的能力。
其次是如何與您正在運行的機器的操作系統和用戶環境進行交互。底部東西必須執行,例如Socket
類。在Windows上,Microsoft .Net框架使用Win32來實現Socket類。在Linux/Mac/* BSD上,在Mono等中實現的.Net框架使用操作系統提供的posix套接字API。
如何在Windows中繪製屏幕? GDI,GDI +,Direct2d等。
如何在Linux中繪製屏幕? X Windows。在OS X中?石英。 .Net編譯器魔法無法自動爲您工作。
.Net Native使您可以擁有靜態鏈接的可執行文件。但是你仍然需要爲你運行的平臺實現.Net框架。這就是Mono,Xamarin等進入的地方。
感謝您的詳細解釋 – Ravi