【问题标题】:Is mono still suitable for a Linux Desktop Application [closed]单声道仍然适用于 Linux 桌面应用程序 [关闭]
【发布时间】:2013-05-17 16:40:20
【问题描述】:

我想为 Linux 制作一个桌面应用程序,我想知道 C#/mono 是否仍然适合它。他们是否打算为 GTK 3 制作包装器?还是 Qyoto 是更好的选择?另外,我想知道 GTK 对于 Ubuntu 是否是一个好主意,因为他们计划制作自己的窗口服务器。 (如果我没有被误导,它将使用 QT...)
任何提示表示赞赏。

【问题讨论】:

  • 如果你喜欢 C# 语法,也许你想试试Vala ;)

标签: qt mono gtk


【解决方案1】:

单声道仍然适用于 Linux 桌面应用程序

是的,Banshee Media Player 就是一个很好的例子。

他们是否计划为 GTK 3 制作包装器?

像我这样来自社区的各种人都在努力实现这一目标。事实上,已经有一个绑定 GTK+ 3.x 的 GTK# 版本,它是一个标记为“2.99”的预览版本。

还是 Qyoto 是更好的选择?

对此不确定。我不知道任何使用此功能的关键应用程序,尽管绑定似乎得到了维护和踢。有些事情告诉我,在这个领域还有很多工作正在进行中,还有很多事情要做,因为 Qt 是 C++ 并且很难从 C# 中绑定它。但是最近有一些非常有希望解决这些问题的发展,例如CppSharp

另外,我想知道 GTK 是否适合 Ubuntu,因为他们计划制作自己的窗口服务器。 (如果我没有被误导,它将使用 Qt...)

你被误导了。 Canonical 的 Mir 项目比您想象的要低一级抽象:它打算以类似于 Wayland 的方式替换 X11。 gtk+ 和 Qt 都运行在 X11 之上。

话虽如此,如果您对选择错误选项非常谨慎,您可以使用XWT toolkit,它将您完全从每个平台的工具包中抽象出来。这样,您将来只需要实现一个 Qt 后端(用于 XWT),以防您想在 Linux 平台中停止使用 GTK+。

【讨论】:

    【解决方案2】:

    您可以在 KDE 或 Gnome DE 上使用 Qt 或 GTK,DE 使用什么与您的应用程序无关,因为系统无论如何都会提供两组库。 Qt 的优势在于您可以轻松迁移到其他平台。

    我个人会远离 Mono,它仍然适用于所有主要发行版,但以稳定性差着称。它也是incomplete,自 2011 年 12 月以来他们还没有发布新版本...例如在我使用的发行版 openSUSE 上,默认情况下未安装 Mono 运行时和绑定很重要 - 与大多数其他大型虚拟机/解释语言(例如 Python 和 Java)。

    【讨论】:

    • 为什么投反对票?我说的有错吗?
    • 我没有投反对票,而且我对 Linux 上的 Mono 没有太多经验,所以我无法谈论 Linux 上的稳定性,但是当前版本是 3.0.10,并且是最后发布的月(标记为 beta,但它与 Xamarin 随其商业产品一起提供的版本相同)。
    • 不,目前的公开版本是v2.10.8,官方网站上有明确说明。我确信他们还有其他处于各种 beta 和 alpha 状态的开发分支,但它们不算作当前版本。而且您必须非常勇敢(愚蠢)才能在自己的开发人员无法将其标记为已完成的语言版本上构建生产代码......
    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2012-04-16
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多