English 中文(简体)
.NET开源和运行平台选择[已关闭]
原标题:
  • 时间:2008-12-17 15:39:13
  •  标签:

我们不允许询问推荐书籍、工具、软件库等问题。您可以编辑问题,使其可以用事实和引用来回答。

Closed 7 years ago.

我们被要求寻找一个完全开源的解决方案用于一个大型项目,他们希望该项目尽可能接近100%的开源,主要是因为作为社区项目,未来可能只有很少的资金可用于主机的运行。使用开源软件可以节省许可证成本,因为由现有IT系统团队在内部管理服务器。

其中一家供应商建议使用.net作为系统的组成部分,这很好,我理解.net应用程序可以合理地发布在开放源代码许可下,如GPL等。

然而,由于我不是.NET开发人员,当涉及到.NET的动力源时我有些困惑。它是否必须是Windows服务器,这当然会导致更高的服务器成本和对MS产品的绑定,或者是否可以在开源服务器上运行.NET应用程序,如Linux等。

请不要把这变成 MS Vs Linux 的争论,以及使用其中一个的好处。我们只是希望确保在使用 .net 时,我们有充分的了解,并且知道它有多么开源。我希望我能有所启发。

最佳回答

就像其他人所说,有Mono。但是考虑到它的不成熟,它不仅仅增加了复杂性,还增加了风险。此外,供应商提供的.NET解决方案很可能不愿意支持他们的应用程序在Apaches + Mono上运行。

因此,要么选择OSS(Apache + PHP/Perl/Python/Ruby等),要么选择IIS + .NET。如果.NET是最适合工作的应用程序,那么选择.NET解决方案绝对没有错,但不要试图将本质上针对一个平台设计的应用程序安装在另一个平台上。

问题回答

"True" .NET 只能在 Windows 上运行。 然而,Mono 项目允许使用 .NET 编写的应用程序在 Linux(和其他平台)上运行,只要没有任何兼容性问题。 Mono 有一个“ 兼容性检查器”,可以帮助您粗略地查看您可能会遇到多少问题,但我自己没有任何经验。 还有一个“可移植性指南”页面,您可能会发现非常有用。

我认为您会发现,在非微软环境中,开放源代码社区和选择的数量要大得多。虽然您可以使用Mono在Linux上运行.Net,但您可能只是增加了不必要的复杂性层。

此外,请务必评估选择开源解决方案的真正成本。您选择的软件可能没有社区支持,从长远来看,您可能会花费与节省相同的时间/金钱来维护它。

进一步说几句关于Mono的细节:

  • Currently the compiler targeting .NET 2.0 and 3.5 is NOT the default compiler. To me this suggests an immature platform. If you re starting out a new project, being able to use all that the .NET framework has to offer reliably is a huge plus. IMHO, Mono doesn t bring that to the table if you need to push the .NET framework to it s limit/edge cases.

  • Mono is sponsored by Novell, which does speak of its potential longevity as a platform.
  • 这个供应商在开源操作系统上是否有真正的单线经验?还是只在Windows上使用.NET?那么你们的系统人员如何?您可能不想迫使他们使用他们不积极支持的新东西。

    你似乎不太了解许可证的重要性。GPL 许可证可能与其他一些许可证不兼容。建议请专业人士咨询。





    相关问题
    热门标签