0

我正在尝试构建一个非常小的桌面应用程序——人们可以很快下载的东西。我正在尝试决定是否应该在 .NET 或 Java 中构建它。我知道 Java 将是跨平台的,但我想知道很多 Windows 用户是否没有在他们的计算机上安装 JRE,在这种情况下我被告知他们需要下载大约 15MB 的 JRE 软件才能运行这个应用程序,而.NET 将自动预装在大多数 Windows 机器中。有谁知道有多少百分比的 Windows 用户在他们的机器上没有 JRE?预装 .NET 的 Windows 用户的年龄百分比是多少?

PS。我们的决定是:如果大量 Windows 用户拥有 JRE,则选择 Java,如果没有,则选择 .NET。

4

9 回答 9

7

我会根据您的团队更擅长使用哪种语言来创建可靠的软件来做出决定。

无论用户是否需要安装 Java 运行时,都可以选择其中一个,这似乎不再是一个问题。

你能提供更好的软件吗?

于 2009-05-22T13:23:03.177 回答
2

好吧,首先,跨平台支持对您来说有多重要?如果这非常重要,那么 Java 就是要走的路,因为 .NET 在您的情况下确实不是初学者。但是,如果您正在考虑使用 .NET,那么我假设跨平台并不重要,在这种情况下,.NET 将为您提供一条更简单的途径,让您的应用程序看起来和表现得像典型的 Windows 应用程序。

至于下载框架的问题是一个障碍;很多用户不会有 JRE。而且,许多用户也不会拥有最新版本的 .NET 框架。这真的取决于这些障碍对你来说有多严重,跨平台支持有多重要,以及你的目标受众是谁。

编辑:我应该提到这一点,但有可能使用“静态链接”之类的工具,如 Xenocode 的PostBuild.NET

于 2009-05-22T13:21:34.583 回答
1

我对你的问题有点困惑。尚不清楚跨平台对您是否重要。如果是,那么 Java 就是赢家,除非您也想使用 Mono。我的其余答案假设跨平台并不重要。

这在很大程度上取决于您认为您的客户群正在使用的操作系统。AFAIK,JRE 没有预装在任何 Windows 操作系统上,因此所有 JRE 安装都是由用户手动完成的,或者由另一个自行安装的程序完成。.Net 框架预装在多个版本的 Windows 上。

  • .Net 框架 1.1 W2K3
  • .Net Fraemwork 2.0 Vista 及以上

至于原始数字,我不知道它们是什么,或者是否有很好的统计数据可用于此类信息。我的观点是,给定 Windows 操作系统,与 JRE 相比,您更有可能安装 .Net。只是因为预装了一组操作系统版本。

于 2009-05-22T13:20:27.923 回答
1

由于某些法律历史,Java 堆栈并未原生包含在 Windows 中,而 .Net 框架作为操作系统更新的一部分被推出。

这是桌面应用程序空间中一个平台优于另一个平台的最佳论据之一。(其中之一是使用 MS 堆栈在房子的 Windows 端制作“漂亮”的 UI 的简易性)。

Java 在 Windows 上的安装渗透(以及 JRE 是否合适的并发问题)倾向于模仿目标受众的精明,或玩决定依赖 Java 的游戏的愿望。

底线:您可以最好地判断您的目标受众;他们的人口统计数据将表明他们安装特定任一运行时的可能性。

于 2009-05-22T13:21:53.210 回答
1

还有一个因素需要考虑...人们或多或少习惯于安装 JRE,几乎每个人都必须安装它才能使用特定的小程序,并且该过程相当简单明了,但是在安装 . NET 运行时(至少在 ol'Windows 中,我不记得我是否曾经在 XP 或 Vista 中做过),以及它们所有的向后不兼容......这很讨厌!

(从我不得不用 .NET 和 Java 为大学做作业的时候起)

于 2009-05-22T13:24:40.800 回答
1

请记住,.NET 目前确实是跨平台,直到版本 2.x。这是 Mono 项目 afaik 支持的 .NET 版本。

上述任何内容仍将针对大量 PC(高达所有主流操作系统的 80-90%),但不会是真正的跨平台。除非 Microsoft 更改其同时向所有平台发布 .NET 框架的政策,否则不要指望采用最新的功能并仍然在各种操作系统中获得可移植性。

JVM 在这方面看起来更好。如果你愿意的话,你总是可以并行实现所有新的花哨的语言(Scala 等)。

于 2009-05-22T20:54:08.373 回答
0

如果您正在考虑使用 .NET,请查看Silverlight;看起来这将是一个很好的选择,并且是一个支持多种操作系统的小型下载(尤其是对于单声道/linux 的“月光”)。

于 2009-05-22T20:43:21.797 回答
0

我在安装 .Net 框架时从来没有遇到过问题。事实上,如果没有安装,大多数部署会自动消失并为用户获取它。

另一方面,Java 既有小程序版本又有独立版本——Java 的 dl 和设置也存在浏览器兼容性问题。

我认为真正的重点是你最能开发什么......在一天结束时,30-40 mb dl 真的已经不多了......但这当然取决于你是什么样的应用程序发展。

至于单声道,我的实验发现它很好,但并不完全适用于有许多用户的应用程序 - .Net 框架有很多糖果,这使得这变得更容易 - 尽管我认为这将是有争议的由对单声道有更多经验的人。

于 2009-05-22T14:02:51.100 回答
0

Flex 的人告诉我,通常超过 90% 的计算机都安装了 Java(他们吹嘘超过 95% 的计算机安装了 Flash)。我不知道 Windows 的 .NET 数字是什么,但不是每个人都知道。由于现在似乎至少有 10% 的用户没有使用 Windows(越来越多),因此您似乎无法一直取悦所有人。

我想知道:为什么不是网络应用程序?如果您正在操作本地文件,为什么不使用签名的小程序/Webstart 应用程序?

Curtisk 关于开发最佳应用程序的观点是恰当的,达到技术最佳点比达到用户群最佳点更容易。如果您可以在人们真正喜欢的任何平台上构建一些东西,那么您就会知道您做出了正确的决定。

于 2009-05-23T21:59:13.643 回答