1

假设您必须开发一个巨大的 Windows 桌面应用程序,您认为 MS(或如果不是 MS 产品,则由其制造商)支持更长时间的语言/技术?

什么语言/框架可以让应用程序更长的寿命而不需要调整或重写以便在发布时在较新版本的 Windows 上运行?

C++ Win32 API?(MS会重写那些吗?)

C# .NET?WPF?

Delphi、wxWidgets、Qt 或其他一些疯狂的东西?

为了争论,请不要纠缠于问题的其他方面。什么会给应用程序更大的生命是这里的问题。

4

6 回答 6

2

真的没有安全的赌注。只需选择一个主要的,并希望最好。

我的雇主制作了一个 200 万行的 windows 应用程序,最初是在 1995 年开始的。当时他们知道它将成为一个大型的长期代码库,所以他们面临着同样的选择。那时,java 什么都不是,.NET 还不存在,qt 和 wxwidgets 是地平线上毫无意义的斑点。选择是 C++/MFC、Delphi 和 VB。他们选择了 Delphi,因为 VB 似乎不够强大,而且 C++ 似乎太复杂而无法重新培训现有的开发人员。

Delphi 曾经是并且现在是这三者中市场份额最小的平台,但令人惊讶的是,它已被证明是最佳选择。在 .NET 转换中,VB 世界中并没有发生重大的移植工作。同时,Delphi 也在不断更新新的 windows api。至关重要的是,因为它比 C++ 更高级,代码库已被证明对于一个小团队来说非常易于管理。

这一切都意味着你永远不知道你是否做出了正确的选择。如果您选择其中一个主要平台,您可能会拥有健全的升级路径。可能,但不是给定的。

于 2009-07-07T06:13:09.667 回答
0

.NET 的大部分运行在 Win32 之上。它已经存在了很长时间,并且很可能会在未来得到很好的支持。

于 2009-07-07T05:52:43.233 回答
0

我会选择 Java + SWT,它会给你绝对的 Native 感觉。我认为 SWT 在某种程度上是 Java 世界中 wxWidget 的转世。不过,您可以在不同的平台上运行它。

于 2009-07-07T05:55:36.380 回答
0

如果您有兴趣在 Windows 上运行并关注它何时成为传统,那么 Win32 是一个安全的选择。这意味着有几个基于 Win32 构建的库可以满足您的目的。

请记住,虽然 Windows 长期以来一直拥有强大的消费者基础,但随着他们试图远离 Win32,我们看到了变化。它们生成低级代码(Vista、Windows 7)和改进其操作系统的能力大大降低,而是依赖于内核代码和用户空间实现的相同核心。对我来说,这表明一家公司可能并不总是最明智的投资。

因此,知道像 WINE 这样的项目可能会在被 Microsoft 放弃很久之后继续实施 Win32 的“免费”版本可能是个好消息。有点像人们如何获得 Commodore 64 或 NES 模拟器;)要么是公司采取了全新的方向,要么是被竞争(Linux)侵蚀。

所以,如果它现在必须是 Windows,那么任何被报告在 WINE 之上运行良好的库。如果您可以提出一个不基于 Windows 的平台的想法,您将获得免费和开源软件的好处!通常可以在 Windows 和无数其他平台上运行的软件。

我看到了对 Java 的建议,这也是一个安全的选择,但 Java 有时会让某些人感到沮丧。

我发现 Java 应用程序的生命周期最长,并且当编码正确时,它可以在所有平台上以一种让我耳目一新的方式工作!

但同样,不要试图带你去任何方向。这只是事物的风景:)

于 2009-07-07T05:57:57.280 回答
0

我相信 .net 将得到长期支持。

于 2009-07-07T05:58:03.957 回答
0

如果您正在创建一个大型应用程序,无论如何都需要以一种或另一种方式进行维护。有时,这将需要进行更改以支持新的操作系统。克服它:)

我不认为微软会让任何事情消失,但他们可能偶尔会做出不兼容的更改。

我们在为人们提供 SaaS 的“云”中运行我们的应用程序,甚至我们也必须为新的操作系统进行更改,因为旧操作系统不再受到硬件供应商的支持。

于 2009-07-07T06:10:52.510 回答