2

我正在研究我将使用哪种 IDE/语言来开发我们的下一个项目。创建该工具是为了监视和对自定义设备的一些设置进行编程。通过 windows 的通信是通过 Virtual Com Port 驱动程序完成的。该应用程序必须在 Windows 7 和 XP 上运行,如果可能无需太多额外工作,则可以在其他操作系统上运行。我是否缺少应该考虑的开发工具?

我发现每个选项的优点和缺点。主要问题:

  • 我是否缺少我应该考虑的开发工具?

  • mono/java 的跨平台程度如何?我可以开发一次应用程序,然后将其移植到其他操作系统上,或者不做任何更改,或者对代码进行大量更改吗?移植时应用程序有多少错误?

  • 选择哪个平台?我是想花更多时间立即使应用程序跨平台,还是使用 MonoDevelop/VisualStudio 并只创建一个 .NET 应用程序更好?

非常欢迎任何见解:) 我会发布最终结果。

附言。我对 Java 没有经验,开发人员也不应该维护。我们都有更多的 C# 经验。

4

3 回答 3

2

我发现在 Visual Studio 中使用 C# 是控制基本 Windows 功能的最佳解决方案。使用 Microsoft 的某种“本地”语言是有意义的,但请记住,您必须在安装到的计算机上安装 .net 框架。

关于 Java,我喜欢 Java。大多数计算机都安装了 Java 框架,而且(在我看来)它比 c# 更容易。它是按照“一劳永逸”的理念制作的,所以如果兼容性是主要因素,那么 Java 就是您的朋友。我个人使用 Eclipse IDE,有一个适用于所有操作系统的构建。我发现它比 Netbeans 轻。Eclipse也可以做C#

关于 Mono,如果您只想为 windows 构建,我不建议使用它,如果您使用的是 Linux 并且需要为 Windows 构建,那么我宁愿使用 VM。

于 2012-10-17T12:07:18.860 回答
2

显然,有大量用 Java 编写的跨平台应用程序。还有很多是用 Mono 编写的——似乎有很多移动开发使用 Mono 来针对 iOS 和/或 Android。

任何特定于平台的东西——硬件和/或操作系统——在不同平台上的行为可能至少略有不同。因此,线程和锁定行为在跨平台甚至不同的 JVM 实现(“一次编写,随处测试”)之间并不相同也就不足为奇了……开发人员有时会发现自己进行了重大更改。

对于 Mono/.NET,您没有听到太多关于此的消息……但恕我直言,很大程度上是因为 .NET 是特定于 Windows 的,而且 Mono 社区比 UNIX/Linux 空间之外的 Java 社区小。

但我认为真正的症结可能是通信端口驱动程序。这些将必须存在于目标系统上(即有人将不得不移植它们)......并且吞吐量和延迟可能会随着硬件/操作系统/版本的不同而变化,可能会很大。

所以我会首先检查那里有什么样的示例/开源代码(如果有的话)来做你想做的事情——特别是与通信端口(虚拟或非虚拟)的接口。这应该让你对相对难度有一个感觉。

然后尝试编写一个简单的“控制台”应用程序,每隔几秒轮询一次端口。两种方式都做,看看哪个“感觉”更好。

于 2012-10-17T12:21:14.460 回答
1

我更喜欢使用 C# 作为语言和 .NET/Mono 作为框架(恕我直言,它们几乎相同)。但这是一个哲学问题。许多人更喜欢 Java,其他人更喜欢 C#/.NET。你们都有更多的 C# 经验,所以最好留在那里。

有多个环境。你可能会考虑。

我已经和他们所有人一起工作过。

以我个人的经验,为 .NET/Mono 编写跨平台代码并不难。

于 2012-10-17T11:59:44.877 回答