1

我在确定在跨平台环境中使用哪些技术时遇到问题。到目前为止,这是我的想法。

  • Java 是一种很好的编程语言,虽然我不太习惯它。而且由于我更喜欢​​访问我在 C# 中已经习惯的 Linq、委托等内容,所以我宁愿不用那么多。与用户控件相比,我也不喜欢 Beans 的工作方式。

  • C# 是我的首选语言。我喜欢它,我会称自己为该领域的专家(但显然不是 COM 中的专家)。

  • C++ 对我来说是俄罗斯的一座城市。在使用这种编程语言时,我感觉自己就像是在盲目地行走,而且与 C# 相比,这需要更长的时间来完成。

我正在为一个为期 4 周的学校项目制作备份系统。但是,我对它的未来有更大的意图。并且备份系统要成功,它必须具有跨平台兼容性。

因此,如果我在 C# .NET COM 中创建了一个类库,并在包含 GUI 的 Java 项目中使用该 COM,整个应用程序仍然可以跨平台工作吗?

4

3 回答 3

4

COM 是微软的技术,它不是跨平台的。

您可以使用 C# 和 mono 项目为您提供跨平台部署。

http://www.mono-project.com/Main_Page

于 2012-10-11T10:01:57.603 回答
1

理论上 COM 是跨平台的,但实际上它依赖于 Windows。除此之外,使 .NET 程序集 COM 可见并不会使其独立于 .NET 运行时(CLR),因此您同时依赖 .NET(对于您的程序集)和 Windows(对于 COM)。但是 COM 和 .NET 都有实现,也有 POSIX 实现。AFAIK for .NET 有Mono一个可以安装的运行时名称,iOS但是对于学校项目AndroidPOSIX我不认为你的老师接受它作为跨平台,所以你应该使用Java或者C++本质上是跨平台的(Java 是运行时兼容和 C++源代码兼容)。

于 2012-10-11T10:09:34.137 回答
1

我正在为一个为期 4 周的学校项目制作备份系统。但是,我对它的未来有更大的意图。并且备份系统要成功,它必须具有跨平台兼容性。

我的建议是专注完成为期 4 周的学校项目的目标。不要添加可能使您的项目脱轨的不必要的复杂性(例如跨平台支持)。使用您现在最熟悉的(适用的)技术。

一旦你完成了你的课程,一定要重新审视这个项目,并尝试把它变成更大/更好/更畅销/什么的。

(我们都可以梦想成为下一个比尔盖茨,但你真的认为你会通过另一个备份程序变得富有和/或成名吗?)

于 2012-10-11T10:19:35.863 回答