一尘不染

.NET / Mono或Java是跨平台开发的更好选择吗?

java

Mono的库比Java的库少多少?

我没有对这两种选择的概述,但是对于下一个项目,我有很大的选择自由。我正在寻找以下方面的硬技术事实

  • 性能(例如,我被告知Java很适合线程处理,而且听说最近.NET的运行时代码优化非常出色)
  • 真实世界的 可移植性(它们都是便携式的,每个Catch-22是什么?)
  • 工具可用性(CI,构建自动化,调试,IDE)

我特别是在寻找您在自己的工作中实际体验到的东西,而不是我能用Google搜索到的东西。我的应用程序将是一个后端服务,用于处理时间序列中的大量数据。

我的主要目标平台是Linux。

编辑: 为了更充分地表达我的问题,我对整个软件包(第三方库等)感兴趣,而不仅仅是语言。 对于库,这大概可以归结为“Mono比Java少多少个库”的问题?


仅供参考,自此以后,我选择Java进行该项目,因为在可移植性方面它似乎更加疲惫不堪,而且在较旧的系统上也存在了一段时间。我对此感到有点难过,因为我对C#很好奇,我很乐意在其中进行一些大型项目,但也许是下次。感谢所有的建议。


阅读 241

收藏
2020-12-03

共1个答案

一尘不染

好吧……Java实际上更易于移植。Mono并非在所有地方都实现,它大大落后于Microsoft的实现。Java
SDK似乎在各个平台之间保持更好的同步(并且可以在更多平台上使用)。

我还要说Java在所有这些平台上都有更多的工具可用性,尽管Windows平台上有很多可用于.NET的工具。

2014年更新

我在2014年仍然持这种观点。不过,我要说的是,我经过了一段时间的关注后才开始关注Mono,因此,Mono运行时(或生态系统)可能有所改进)我尚未意识到。AFAIK,仍然不支持WIF的WPF,WCF,WF。Mono可以在iOS上运行,但是据我所知,Java运行时仍比Mono运行在更多平台上。另外,Mono开始看到一些经过改进的工具(Xamarin),并且Microsoft似乎具有更多的跨平台态度和愿意与合作伙伴合作以使其互补而不是竞争的态度(例如,Mono将成为即将到来的OWIN
/ Helios ASP.NET格局的重要组成部分)。我怀疑在未来几年中便携性的差异会迅速减少,

2018年更新

我对此的看法正开始走向相反。我认为.NET,尤其是.NET
Core,尤其是在.NET中,已经开始使用Java实现“可移植性对等”。目前正在努力将WPF引入某些平台的.NET Core,并且.NET
Core本身现在可以在许多平台上运行。Mono(由Xamarin拥有,现在由Microsoft拥有)是一种比以往更加成熟和完善的产品,并且编写可在多个平台上工作的应用程序不再是.NET黑客的深入诊断领域,而是一项相对简单的工作。当然,有一些库,服务和应用程序仅用于Windows或只能针对特定平台-
但Java(广泛地)也是如此。

如果我现在不做OP的话,我想不出语言或技术堆栈本身固有的原因,这会阻止我为以后的任何应用程序选择.NET。

2020-12-03