可能至少有几个人知道,微软将 .NET 应用程序框架开源。
这是否意味着可以在 Linux 上运行更多 Windows 程序,并通过直接集成 API 以某种方式加快 wine 的速度?或者它更像是一个开发系统,无法本地集成以像使用 bash 编写的程序那样流畅运行?
我使用过 wine,发现即使在本机安装的发行版上,即使是最基本的程序,它最终也会运行缓慢,而使用虚拟磁盘等最终会很麻烦。是否可以在核心/内核级别集成 API,也许可以更改几项内容,使斜线以不同的方式表示,并添加报告的 Windows 版本并让它们像本机一样运行?如果有人认为这只有在猪飞起来的时候才有可能,请告诉我它永远不会起作用,但我想知道具体为什么它会起作用或不会起作用,而不仅仅是一个字的答案。
答案1
这和葡萄酒有什么关系呢?我们先不谈这个。
微软正在开源 .NET 的核心部分,并使 ASP.NET 比以前更加开源。这两个部分本身就允许您创建命令行应用程序和 ASP.NET 网站。如果您有这样的现有应用程序,最终应该可以创建 Linux 目标(如果需要的话)并在 Ubuntu 上本地运行它们。
话虽如此,制作类似 GUI 应用程序的东西需要一大堆 .NET 组件。在 Windows 上,开发人员使用 Windows Presentation Foundation 之类的东西在屏幕上绘制内容。在 Mono 中,我们可以使用 GTK# 和 Qt# 之类的东西。如果您想要一个跨平台应用程序,您需要一个跨平台工具包。
这是一种非常冗长的说法,最初不会有太大变化。开发人员以前如果想要跨平台应用程序,可以使用 Mono,现在仍然可以。将来,将 Mono 的工具包引入 VS.NET 项目可能会更容易,或者 MS 会用跨平台工具包替换 WPF。
回到 Wine。在 Wine 中运行的 .NET 应用程序仍然需要一些东西来为其提供演示库,并且(如果是原生 Windows 库)它们仍然需要通过Wine,因此为他们提供了正确的环境。Wine 仍然是应用程序和硬件(通过 Linux 实现的虚拟硬件)之间的纽带,.NET 就建立在硬件之上。我认为这种安排短期内不会改变。