.NET语言是否真的在消费者桌面应用程序中产生任何凹痕?

.NET语言是否真的在消费者桌面应用程序中产生任何凹痕?

Are .NET languages really making any kind of dent in consumer desktop applications?

您是否使用.NET语言编写消费者桌面应用程序? 如果是这样的话

我的印象是,大多数消费者桌面应用程序仍然是C,C ++等形式的本机编译应用程序。

尽管.NET语言越来越流行,但这些新的应用程序类型是否曾经突破企业和Web领域而成为高级消费类应用程序?

例如,现在看看您的桌面? Firefox用.NET语言编写了多少个应用程序? 微软办公软件? 雷鸟? iTunes? Microsoft Visual Studio?

我公司开发了利用新技术的高端CAD / CAE应用程序,但我们的核心开发仍使用C ++进行。


我构建并维护了一个用.NET(现在是1.1、2.0)编写的大型桌面应用程序。该应用程序适用于牙医,并且通过使用TabletPC SDK的MIcrosoft.Ink命名空间中的Ink技术来工作。
一些牙医使用Tablet PC使事情变得更容易并利用该技术的力量。

另一方面,由于我发现Windows UI不好看(XP / Vista),并且发现每个应用程序看起来都相同且不一致,因此我编写了自己的GDI +控件库,同时或多或少地遵循了" Windows UI准则",我想到了非常漂亮的按钮和其他UI元素,这些元素使我的应用看上去比任何其他"常规" Windows应用程序"都更好"。

我们以全屏模式运行(最大混合,无控件,无应用栏),但是我们这样做是因为它是专用于任务计算机的非常特殊的应用程序。牙科诊所不对我们的应用程序使用Microsoft Excel和ALT-TAB。该应用程序的工作就像一个" ATM"一样,轻触即可完成。很简单。在我所在的欧洲取得了成功。

因此,我不得不说我很高兴该应用程序不是Web应用程序,因为当我们启动时,用于Windows Forms的.NET GDI +比WEB可以提供的任何东西都要优越。即使在今天,Ajax也无法重现完整的桌面体验(不是,而是应该……)。

Java当时的UI丑陋(现在不知道),因此我们选择了.NET并从此开始使用C#。

桌面应用程序不会很快消失,有些东西仍然无法在网络浏览器中复制。

在这六年之前,我考虑过Java,C ++,Delphi等。没有人提供c#.NET的简单性和强大功能,并且没有什么缺点(例如当时没有人拥有的Framework)。现在,每个Windows框肯定都将具有.NET Framework 2.0。

再说一次,我的消费者应用程序非常具体,针对的是封闭的市场,但是我们对.NET没有任何要求。


如前所述,我认识了假小子,小猎犬以及F-Spot。所有这些都是大多数Linux发行版的一部分。 Paint.NET是另一个应用程序。


Intuit的TurboTax 2007和2008都是用.NET编写的。与我在评论另一个答案时抓住的利基市场视频编辑工具的演示不同,它实际上完全干净地安装在我家里略微老化的XP盒上,没有发生任何事故(包括其自我更新技巧)。

今年的用户界面与过去几年有很大的不同,并且在大多数情况下会更好。由于去年似乎已经发生了向.NET的过渡,而根本没有对UI进行任何改动,因此不能指责(或归功于)向.NET的转换。

我只是一个用户,不知道是什么促使他们的开发团队切换。

我确实认为这是我发现的第一个零售软件包,显然是基于.NET的。


也许您会因为许多流行的桌面应用程序的代码库早于2001年而看到这种情况吗?

编辑:我可能应该说早于2003或2004年...我怀疑有人会在.NET版本的头一两年内启动一个主要的桌面应用程序。


Visual Studio(至少2008年)是用.NET编写的


我注意到,在Process Explorer中,越来越多的桌面应用程序以黄色突出显示(表示它们是.Net)。如上所述,ATI的Catalyst是Windows Live Mesh,许多游戏都具有.Net更新或配置引擎,以及我写的大多数尚未完全进入公共领域的内容(因为我没有)尽可能多的时间进行编码和测试)。此外,Visual Studio的大部分内容都是.NET-至少根据Process Explorer而言。

我认为,就像上面提到的那样,已经有很多台式机应用程序具有较旧的代码库,除非这样做具有某些奇妙的价值,否则它们的所有者将不会对其进行转换。


只要您不需要über性能,我看不出没有任何理由不使用.NET。使用新的超小型可重分发文件,您可以包括一个占用数百KB的.net安装程序。

我要说的是,只有当您已经拥有精通该语言的开发人员或者有特定的技术要求(如果有必要)或者客户的机器是C ++时,现代垃圾收集语言的生产率提高才应该成为C ++的不错选择。已锁定,因此无法使用.net平台。

虽然我还不属于工作人员(即我是学生),但是我用C#编写时可以摆脱的一切。我尝试过的其他方法都无法接?糜镅运峁┑男屎图蚪嘈裕ú⑶姨峁┝薞isuall Studio的所有生产力功能)。


真可惜拒绝使用.net进行桌面开发的唯一原因是台式计算机上对.net框架的要求,但是恕我直言,这是为能够在.net环境中工作而付出的代价付出的很小的代价。


好吧,有像
Tomboy和Beagle是一些Linux发行版的一部分,因此我不确定它们是否属于高端消费类应用程序。
想到这一点,我并不是真的不知道用.NET语言编写的任何其他"非企业"应用程序。


不是传统的桌面应用程序,而是ATI Catalyst Control Center是基于.NET的。


传统意义上可能不会有很多Winforms应用程序被编写,但是两个Windows Live Messenger的下一个版本将在Windows Presnetation Foundation中编写,我认为这是趋势。

Windows Media Center用C#编写,令人印象深刻,但话虽如此,它也不是传统的winforms应用程序。


Microsoft InfoPath-Microsoft Office的一部分也用.NET编写


TechSmith的Jing是.NET,实际上是WPF,所以它是3.5,是尖端的.NET。


我在这里工作的几乎所有客户端程序都在.NET中。这是业务应用程序的绝佳平台。话虽这么说,但是.NET很好的目标大多数程序都被部署为Web应用程序。其余通常是图形和cpu密集型应用程序,出于性能原因,通常在c ++中实现。出于同样的原因,您也不会看到太多用Java编写的桌面应用程序。


你们大多数人都提到开源。我同意,有些项目使用.NET(例如,我使用RSSBandit),但它们并不重要(大多数情况下)。但是企业应用程序呢?最近,我编写了类似于MS Surface的应用程序,它用于广告目的。在此之前,我必须编写一个应用程序来维护仓库。有些不同?在WinForms时代,我编写了一个应用程序来支持类似ebay的页面。还需要吗?

就我个人而言,我认为.NET在商业中得到了广泛的使用(您每天都不会看到),而开放源代码却没有使用它(为什么?我不知道,也许贡献者讨厌MS?)。但是,我也认为它将向.NET转变,尤其是在Windows平台的下一版本中。而且,我几乎忘了-安装.NET框架不是问题,说真的,用户并不那么愚蠢和懒惰!

确实,台式机正在失去对网络环境的魔力,但它永远不会消亡;)


实际上,我在桌面上发现了一些需要.Net的应用程序。

最著名的是Paint.Net,其中还包括随我的ATI显卡一起提供的"催化剂控制中心"。

当然,我们公司正在编写我们自己的桌面.Net应用程序。我们的目标受众是企业用户。


推荐阅读