2

也许我的问题完全天真,这就是为什么我无法通过谷歌或其他东西找到任何信息的原因——但尽管如此,我认为值得在这里提问。

我想开发一个在 Mac 和 Windows 中自然运行的 C# 应用程序(Linux 也不错,但不是直接需要)。我的主要开发操作系统应该是 Mac OS X,因此我想使用 MonoDevelop。

我可以为 MonoMac 设置一个项目 - 工作正常。我可以为 GTK# 设置一个不同的项目 - 工作正常。

我现在的问题是,我必须做些什么才能获得一个有可能使用 MonoMac 和 GTK#-frontend 的项目。所以我将采用 MVC 模式并希望在一个项目中工作。因此,构建我的项目将产生一个 Mac 可执行文件(基于 MonoMac 的东西)和一个 Windows 可执行文件(基于 GTK#)。

我的方法完全错了吗?我必须做什么才能实现我的目标?

4

1 回答 1

5

是的,对于在每个平台上具有最佳外观的多平台应用程序,您需要每个平台一个可执行文件。使用 MVC 方法是执行此操作的最佳方法 - 您可以拥有一个包含库项目的解决方案,其中包含所有共享代码 - 模型、处理代码、业务逻辑等 - 以及包含平台的每个“前端”可执行文件的项目 -具体的意见和外壳。

如果 Windows 上真正好的原生体验比 Linux 支持优先级更高,我建议使用 WPF 或 Windows Forms 而不是 GTK#。这意味着您必须在 Windows 和 MacOS 之间拆分开发 - 您需要在 Windows 上的 Visual Studio、SharpDevelop 或 MonoDevelop 中打开相同的项目,并在那里编辑 WPF/WinForms 项目和共享库。

OTOH,GTK# 的优势在于您可以先编写一个可在所有三个平台上运行的前端,然后再编写特定于平台的前端。

于 2012-08-13T02:18:40.350 回答