5

我得到“您提出的问题似乎很主观,很可能已关闭。” 但你可以回答是或否。

-- 编辑:主观问题是那些通常以意见回答的问题,那么询问社区的意见有什么不好呢?另外顺便说一句,我在征求您的意见,您的意见不取决于我项目的性质。

4

10 回答 10

11

从“使用 Mono 的公司”中挑选几个例子:

  • Novell:Novell 将 Mono 用于客户端和服务器应用程序:
    • ZenWorks Linux 管理
    • 其桌面搜索产品 Beagle
    • 照片管理(F-Spot)
    • 群件服务器 (Hula)
  • Electronic Arts 用它来为 Sims3 提供动力。
  • Medsphere:Medsphere OpenVista 软件允许医生在护理点访问完整的患者健康信息,它可以在 Windows 和 Linux 上运行,这要归功于 Mono。

如果它对这样的公司来说足够好,那么 Mono对你来说足够好——这取决于你对它的看法。如果您的创业公司注定要失败,Mono 不会有所作为;如果你有一个伟大的概念和一个伟大的团队,那么无论你使用 Mono、Visual Studio 还是其他任何 IDE 都没有多大关系。

于 2009-09-28T02:05:16.437 回答
7

只有当你打算做一些猴子生意时。

(编辑:给反对者的注意事项;研究西班牙语中“单声道”的含义,看看它的图标,同时,看看你的幽默感,我怀疑你可能已经失去了它)。

于 2009-09-28T02:27:55.427 回答
2

由于这是一个普遍的问题,我将给出一个场景。

例如,您使用 .NET 框架并销售某种产品​​。IMO:如果它是一个基于服务器的产品,那么您很有可能拥有想要在 Linux 上运行它的客户。

  1. 你可以告诉这些客户搞砸了。
  2. 您可以为他们提供通过 Mono 运行它的能力。

这两种选择都有缺点。如果您选择#1,将失去销售额,从而损失收入。当然,这取决于您有多少潜在客户想要使用 Linux。

第二个选项的缺点是您必须在 Mono 和 .NET 框架中测试您的应用程序。这会消耗开发人员的时间,而时间就是金钱。:)

但无论如何,这是您必须做出的决定,并且正确的决定是非常特定于应用程序和市场的。

于 2009-09-28T02:43:02.087 回答
2

我曾为一个跨平台的商业 Windows/Linux 项目开发 Mono。

  • Mono 的核心(运行时)非常可靠——令人惊奇的是,您可以在 Windows 上编译并在 Linux 上运行。
  • MonoDevelop 非常不稳定。希望这会改变,但现在它很痛苦。如果您只需要 Linux 运行时支持(而不是 Linux 开发人员),那么您将减少问题。我不想在其中编写一个相当大的项目。
  • 定期交叉测试。不要在 Windows 上做一周的工作,然后发现你必须为 Linux 重新编写(反之亦然)。尝试每天在这两种环境上进行构建和测试。
  • 一些 .NET 的东西在 Mono 上不起作用。显然,您不应该在 WPF 应用程序上启动 WinForms 并期望它能够工作。规划您的功能:不要半途而废,发现 Mono 不支持您需要的特定技术。
  • 提前计划并测试您认为需要的每一种语言和框架功能。Mono 库是不完整的,你不能假设你有一个完整的框架。
于 2009-09-28T10:43:01.507 回答
1

是 Jeffrey Stedfast 最近的一篇博客文章,可能会对这个问题有所了解。我正在为 Windows 开发,并将无限期地继续这样做,所以我在这场战斗中没有狗。

于 2009-09-28T07:52:19.947 回答
0

这真的取决于应用程序。如果您的应用程序与单声道一起站立或下降,那么不会。

就像股票一样,你不要把所有的钱都放在一只股票上,太冒险了。

于 2009-09-28T02:34:40.877 回答
0

是的,因为即使您的应用程序在 Mono 上失败,它仍然可以在 Windows 中正常工作。最后我查了一下,至少有几家成功的公司为 Windows 编写软件。

于 2009-09-28T02:49:25.210 回答
0

由于从未使用过 Mono,我很想听听人们提供适合在 Mono 中构建的产品示例,以及不适合的示例。

于 2009-09-28T02:57:50.027 回答
0

我参与了许多创业公司。我们无法回答您的问题,因为它更像是一个风险管理问题:如果出现故障,您能否通过合理的努力解决它或解决问题?你预计它会失败多少次?

为了回答这个问题,你需要知道你想要支持什么平台,你将如何使用单声道,以及你有什么技能。例如,如果你想支持运行 mono 的所有平台,你会遇到更多的问题,而不是只想在 Ubuntu 上支持 Mono。Mono 是开源的,但如果你想修复 Mono 内部的错误,你需要有技能和时间来做到这一点。

另一件事是,您希望您的产品有多可靠?如果你看一下三星的 DVB-C 硬盘录像机之类的产品,它实际上有时会崩溃。即使是 Playstation 3 偶尔也会崩溃。如果您创建一个互联网服务器,如果客户端在超时后重试,通常可以很好地隐藏崩溃。

如果我在一家初创公司需要单声道,并且从一开始就除了我自己之外至少有 1 位熟练的程序员,那么选择单声道作为平台我不会有任何问题。

于 2009-09-28T10:28:41.550 回答
0

是的,如果您依赖 Mono 的当前状态。不,如果你依赖未来的承诺 Mono 将会是什么。

使用第一种选择仍然存在迟早必须迁移到另一个平台的风险,因为 Mono 可能会停滞不前。如果您的计划是有效的,那么最先进的技术仍然会为您提供足够的平台来获取移动资源。如果您根本无法承担这种风险,请不要找到创业公司。

于 2009-09-28T10:52:44.280 回答