桌面应用程序寿命

时间:2009-07-07 05:51:04

标签: windows desktop lifecycle

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

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

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

C#.NET?WPF?

Delphi,wxWidgets,Qt还是其他一些疯狂的东西?

请为了论证而不要纠缠于问题的其他方面。 什么能给予应用程序更长的生命是这里的问题。

6 个答案:

答案 0 :(得分:2)

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

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

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

这就是说你永远不知道自己是否做出了正确的选择。如果您选择一个主要平台,那么您可能会拥有理智的升级路径。可能,但不是给定的。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

如果您有兴趣在Windows上运行并着眼它何时成为传统,那么Win32是一个安全的目标。 这意味着在Win32上构建了几个适合您目的的库。

请记住,尽管Windows在最长时间内拥有强大的消费者基础,但我们在尝试离开Win32时会看到变化。他们生产低级代码(Vista,Windows 7)的能力大大降低,并且对操作系统进行了改进,而依赖于内核代码和用户空间实现的相同核心。 对我来说,这是一家公司的标志,可能并不总是最明智的投资。

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

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

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

我发现Java应用程序的生命周期最长,并且编码正确地在所有平台上运行时只会给我一个嗡嗡声!

但是,再一次,不要试图把你带到任何方向。这只是事物的风景:)

答案 4 :(得分:0)

我相信.net会在很长一段时间内得到支持。

答案 5 :(得分:0)

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

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

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