C#桌面应用程序?

4

在考虑在ISV环境中使用C#时,我想知道有哪些知名的基于C#的桌面应用程序?我只能想到Paint .NET。

C#是否适合ISV,还是应该坚持使用更本地的环境,如Delphi甚至QT?

当然,任何经验丰富的建议或反馈都将不胜感激。

22个回答

12

是的,C#可以很有效地用于构建应用程序。关于有哪些应用程序,请问您想要什么?大型应用程序还是小型应用程序?

我知道一个基于.NET框架构建的大型应用程序(不确定是C#还是VB),那就是Quickbooks。


4
快书(Quickbooks)相当出名。 - BlackWasp

7
使用C#开发桌面应用程序非常好,不仅限于Web应用程序。
WinForms可以为您节省大量时间。在桌面窗口开发方面,它真的是一流的公民。如果Interop是一个问题,您可以随时使用P/Invoke和COM对象封装,这是VS为您完成的。
如果做得正确,当客户改变想法时,维护和更新将变得轻而易举。
是的,必须在计算机上安装框架,但是如果他们曾经使用过Windows更新,这不应该是一个问题。现在,哪种语言没有运行时库呢?在VS中,您可以创建包括运行时的简单安装程序。
当然,如果要部署到Linux和Mono,情况可能会有所不同。

5

最好的版本控制系统!!试试吧!! - Mawg says reinstate Monica

4
如果您可以控制应用程序的系统需求,C#是一个很好的选择。尽管我们现在已经进入了2009年,但一些最终用户仍然反对使用40MB的运行时库,因此如果您想要商业部署应用程序,这可能会成为一个问题。然而,在公司环境中,由于用户计算机上的软件有一定的标准化,这通常不是一个问题。
Delphi和QT都存在问题。Delphi实际上是一种已死的语言。现在使用它的公司大多数情况下正在尽快将其代码移植到其他语言上(招聘网站似乎充斥着从Delphi迁移到C#的岗位)。您可能喜欢QT,但在Windows世界中它的发展速度几乎与Delphi相同,因此我从未考虑过它作为真正的选项。

Delphi在TIOBE的前10名指数中比Ruby更受欢迎。你是说Ruby也是一门死语言吗?Delphi在美国已经死了,但在其他地方仍然非常活跃。如果你在文件共享上进行集中托管,40 MB就很大了。 - Joeri Sebrechts
你为什么要假设“死亡”和“非死亡”是唯一的选择呢?Ruby并不是一门已经死亡的语言,相比之下它是一门新兴的语言。我提到40MB的意思是,如果你在一个企业环境中,你有能力在用户机器上标准化软件,那么软件大小就无关紧要了。 - TheSmurf
我国最大的电信公司使用标准化的台式机,但不在机器上安装大部分软件,因为配置是遵循个人设置而非机器设置的。我们的软件是从他们网络上的文件共享运行的。 - Joeri Sebrechts
我认为这有点不同。.NET 不是你运行的软件;它是必须安装在机器上的东西。无论如何,我之前说的是消费者不喜欢安装运行时,而不是可疑的企业设置。 - TheSmurf

4

更多:

  • 商业计划书Pro
  • Rescue Time客户端
  • Sony Vegas
  • Sql管理工具
  • VS 2010(比VS 200x更强大)
  • NASA的World Wind
  • BabySmash
  • Windows Live Writer
  • Microsoft Office会计软件
  • Fiddler 2
  • Windows移动设备中心
  • AdiIRC
  • Jetbrains dotTrace
  • 许多联想实用程序
  • Planbook

这些只是我电脑上安装的软件...


3
我认为Microsoft Expression Blend/Studio是用C#编写的。

是的,它是 :) Visual Studio 的下一个版本全部采用托管方式。它的新用户界面是使用 WPF 编写的。 - Foredecker

3

任何为机器人工作室所做的事情,任何XNA游戏(现在有相当多的商业游戏正在推出)


3
我不明白为什么你不会将C#用作ISV。问题在于确保你的目标市场拥有.NET框架。如果你使用3.5版本,你可以在你的发行版中构建一个迷你版本,虽然这会增加下载文件的大小。

3

一些额外的信息需要考虑:

对于桌面应用程序,分发模型更加困难是典型的反对点。对于Web应用程序,如果您有大量用户,您可以进行更新,并立即使整个用户群体运行在最新版本上。

然而,在传统的桌面应用程序中,您必须发送 .msi 文件或自己构建一些东西。但是,使用ClickOnce和Updater Application Block(http://msdn.microsoft.com/en-us/library/ms978574.aspx),将智能更新集成到您的应用程序中变得非常容易,这可能非常适合ISV计划。

即使VS 2008/WPF正在缩小差距,通常在WinForms空间中开发客户端应用程序比在Web上快得多,因此我认为这是一个非常可行的方法。


2
我相信TimeSnapper是用C#编写的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接